C语言求1到n各个数的阶乘之和并输出
时间: 2023-05-21 14:04:09 浏览: 315
以下是C语言代码,可以求1到n各个数的阶乘之和并输出:
```c
#include <stdio.h>
int main() {
int n, i, j, factorial, sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
factorial = 1;
for (j = 1; j <= i; j++) {
factorial *= j;
}
sum += factorial;
}
printf("1到%d各个数的阶乘之和为:%d\n", n, sum);
return 0;
}
```
如果您有任何其他问题,请随时问我。
相关问题
c语言输出各个数字的阶乘
以下是一个输出1到10的数字阶乘的C语言代码示例:
```
#include <stdio.h>
int main() {
int i, n, fact;
for (i = 1; i <= 10; i++) {
n = i;
fact = 1;
while (n > 0) {
fact *= n;
n--;
}
printf("%d! = %d\n", i, fact);
}
return 0;
}
```
输出结果:
```
1! = 1
2! = 2
3! = 6
4! = 24
5! = 120
6! = 720
7! = 5040
8! = 40320
9! = 362880
10! = 3628800
```
该程序使用了for循环来遍历1到10的数字,然后使用while循环来计算每个数字的阶乘。在while循环中,我们将n从该数字开始递减,直到n等于1。在每个迭代中,我们将fact乘以n,从而计算出该数字的阶乘。最后,我们使用printf函数输出每个数字的阶乘。
c语言用数组求n的阶乘
以下是使用数组求n的阶乘的C语言代码,其中使用了一个数组来存储大数阶乘:
```c
#include <stdio.h>
#include <stdlib.h>
#define N 10 //计算N的阶乘
int main(){
//数组 1位 1!
int ary[N] = {1, 1};
int i, j;
for (i = 2; i <= N; i++){
//各个下标的阶乘,第0位...
for (j = 1; j <= ary[0]; j++){
ary[j] *= i;
}
//进位
for (j = 1; j <= ary[0]; j++){
if (ary[j] < 10) continue;
ary[j+1] += ary[j] / 10;
ary[j] %= 10;
if (j == ary[0]) ary[0]++;
}
}
//输出结果
for (i = ary[0]; i >= 1; i--){
printf("%d", ary[i]);
}
printf("\n");
return 0;
}
```
阅读全文