本题要求实现一个计算非负整数阶乘的简单函数,使得可以利用该函数,计算1!+2!+⋯+10!的值。 函数接口定义: double fact( int n ); 其中n是用户传入的参数,其值不超过10。如果n是非负整数,则该函数必须返回n的阶乘。 裁判测试程序样例: #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; } /* 你的代码将被嵌在这里 */
时间: 2023-12-10 20:42:01 浏览: 86
以下是一个简单的实现:
```c
double fact(int n) {
double result = 1.0;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
```
这个函数实现了计算一个非负整数的阶乘。然后我们可以在主函数中调用这个函数计算1!+2!+⋯+10!的值。
完整代码如下:
```c
#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) {
double result = 1.0;
for (int i = 1; i <= n; i++) {
result *= i;
}
return result;
}
```