本关任务:从键盘输入一个整数n,编程计算从1到n之间所有数的阶乘。
时间: 2024-12-18 12:28:45 浏览: 1
java编程50例题
好的,要解决这个问题,你可以使用循环结构,如for或while循环,结合递归来计算每个数的阶乘并将它们累加。这里有一个简单的C程序示例:
```c
#include <stdio.h>
#include <stdlib.h> // 引入stdlib头文件,因为我们需要long long类型
// 计算阶乘的函数
long long factorial(int n) {
long long fact = 1;
for (int i = 1; i <= n; ++i) {
fact *= i;
}
return fact;
}
int main() {
int n;
// 输入提示用户
printf("请输入一个正整数:");
scanf("%d", &n);
// 验证输入的有效性
if (n < 0) {
printf("错误:请输入一个正整数。\n");
return 1;
}
// 计算并打印阶乘之和
long long sum_of_fact = 0;
for (int i = 1; i <= n; ++i) {
sum_of_fact += factorial(i);
}
printf("从1到%d的所有数的阶乘之和为:%lld\n", n, sum_of_fact);
return 0;
}
阅读全文