/*计算1!+2!+…+100!。要求定义和调用函数fact(n)计算n的阶乘*/ #include<stdio.h> double fact(int n);/*自定义fact函数计算阶乘*/ int main(void) { int i; double sum; sum=0; for(i=1;i<=100;i++) sum=sum+fact(i); /*调用fact(i)求i!,共重复100次*/ printf("1!+2!+…100!=%e ",sum);/*指数形式输出结果*/ return 0; } double fact(int n)/*定义求n!的函数*/ { int i; double result; result=1; for(i=1;i<=n;i++) result=result*i; return result; }
/*编制程序,输入m、n(m≥n≥0)后,计算下列表达式的值并输出。 要求将计算阶乘的运算编写作函数fact(n),函数返回值的类型为float*/ #include<stdio.h> float fact(int);/*直接定义函数为float型,其中n m为int型*/ int main( ) { int n,m; float y; /*y作为结果也是float型*/ printf("Enter n and m:"); scanf("%d%d",&n,&m); y=fact(m)/fact(n)*fact(m-n);/*直接使用函数进行计算*/ printf("y=%f ",y); return 0; } float fact(int n) { int i; float result; result=1; for(i=1;i<=n;i++){ result=result*i; } return result; }