实验5-7 使用函数求1到10的阶乘和(10 分)
本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算$1!+2!+\cdots+10!$的值。
函数接口定义:
其中n是用户传入的参数,其值不超过10。如果n是非负整数,则该函数必须返回n的阶乘。
裁判测试程序样例:
| 12
 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
 | 
| 12
 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;
 }
 }
 
 |