用C语言计算:1!+2!+3+……+n!(用双层循环完成)
时间: 2023-12-24 21:25:11 浏览: 108
以下是用C语言计算1!+2!+3+……+n!(用双层循环完成)的代码实现:
```c
#include <stdio.h>
#include <stdlib.h>
int fun(int x) {
int Sn = 0;
int S;
for (int i = 1; i <= x; ++i) {
S = 1;
for (int j = 1; j <= i; ++j) {
S *= j;
}
Sn += S;
}
return Sn;
}
int main() {
int n;
printf("您需要1到多少的阶乘之和,请输入(此值请小于26)\n");
scanf("%d", &n);
printf("数字1到数字%d各阶乘之和为%d\n", n, fun(n));
system("pause");
return 0;
}
```
相关问题
用c语言+计算1!+2!+3!+......+10!
以下是用C语言计算1!+2!+3!+......+10!的程序:
```c
#include <stdio.h>
int main() {
int i, j;
double sum = 0, factorial = 1;
for (i = 1; i <= 10; i++) {
factorial *= i;
sum += factorial;
}
printf("1!+2!+3!+...+10!=%.0f\n", sum);
return 0;
}
```
运行结果为:
```
1!+2!+3!+...+10!=4037913
```
编写c语言程序求1!+3!+5!+……+n!的和
好的,这是一个比较常规的题目。以下是一个输出1!3!5!……n!的和的C语言程序:
```
#include <stdio.h>
int main() {
int n, i, j;
long long sum = 0;
printf("请输入一个正整数 n: ");
scanf("%d", &n);
for (i = 1; i <= n; i += 2) {
long long product = 1;
for (j = 1; j <= i; j++) {
product *= j;
}
sum += product;
}
printf("1!+3!+5!+...+%d! = %lld\n", n, sum);
return 0;
}
```
程序中的逻辑是,读入一个正整数n,然后用for循环从1到n,每次加2。在循环内计算当前的i的阶乘,累加到总和中,最后输出总和。
注意到阶乘的计算是很容易溢出的,因此采用了long long类型。
阅读全文