求1+2!+3!+……+n!,n由键盘输入 用双层循环
时间: 2023-11-17 20:00:49 浏览: 195
以下是用双层循环求1+2!+3!+……+n!的代码:
```c
#include <stdio.h>
#include <stdlib.h>
int main() {
int n, i, j, sum = 0, fac = 1;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (i = 1; i <= n; i++) {
fac = 1;
for (j = 1; j <= i; j++) {
fac *= j;
}
sum += fac;
}
printf("1+2!+3!+...+n!的值为:%d\n", sum);
system("pause");
return 0;
}
```
相关问题
用C语言计算:1!+2!+3+……+n!(用双层循环完成)
以下是用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!+…+n!(n 从键盘输入)。
在C语言中,你可以使用双重循环来计算从1到n的所有正整数的阶乘之和。阶乘是一个数的所有小于及等于它的正整数的积,例如5! = 5 * 4 * 3 * 2 * 1。
以下是简单的代码示例:
```c
#include <stdio.h>
// 计算阶乘的辅助函数
unsigned long long factorial(int n) {
unsigned long long fact = 1;
for (int i = 1; i <= n; ++i) {
fact *= i;
}
return fact;
}
int main() {
int n;
// 输入n
printf("请输入一个正整数n: ");
scanf("%d", &n);
// 双层循环计算阶乘之和
unsigned long long sum = 0;
for (int i = 1; i <= n; ++i) {
sum += factorial(i);
}
// 输出结果
printf("1! + 2! + ... + %d! = %llu\n", n, sum);
return 0;
}
```
在这个程序中,`factorial()`函数用于计算单个数的阶乘,外层循环遍历1到n的每个数字,内层循环则用于计算当前数的阶乘并累加到总和上。
阅读全文