实验5-7 使用函数求1到10的阶乘和(10 分)
本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算$1!+2!+\cdots+10!$的值。
函数接口定义:
其中n
是用户传入的参数,其值不超过10。如果n
是非负整数,则该函数必须返回n
的阶乘。
裁判测试程序样例:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| #include <stdio.h>
double fact( int n );
int main(void) { int i; double sum;
sum = 0; for(i = 1; i <= 10; i++) sum = sum + fact(i);
printf("1!+2!+...+10! = %f\n", sum); return 0; }
|
输入样例:
本题没有输入。
输出样例:
1
| 1!+2!+...+10! = 4037913.000000
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| #include <stdio.h>
double fact( int n );
int main(void) { int i; double sum;
sum = 0; for(i = 1; i <= 10; i++) sum = sum + fact(i);
printf("1!+2!+...+10! = %f\n", sum); return 0; }
double fact( int n ) { int sum=1,i; if(n>0) { for(i=1;i<=n;i++) sum=sum*i; return sum; } }
|