写出C语言代码 求1到20的阶乘的和
时间: 2023-11-07 13:05:04 浏览: 170
下面是求1到20的阶乘的和的C语言代码:
```c
#include <stdio.h>
int main() {
int n = 20, i, j;
long long fac = 1, sum = 0;
for (i = 1; i <= n; i++) {
fac = 1;
for (j = 1; j <= i; j++) {
fac *= j;
}
sum += fac;
}
printf("1! + 2! + ... + 20! = %lld\n", sum);
return 0;
}
```
代码中先定义了变量n为20,表示要求1到20的阶乘的和。然后使用两个for循环,外层循环从1到n,内层循环从1到当前的i,计算当前i的阶乘。每次计算完阶乘后,将其加到sum变量中。最后输出sum的值即可。
相关问题
写一段c语言1到20到阶乘
在 C 语言中,计算从 1 到 20 的所有整数的阶乘可以使用循环结构,例如 for 循环,并使用递归函数(虽然对于大数字可能会导致溢出)。这是一个简单的示例:
```c
#include <stdio.h>
// 阶乘函数,用于递归计算
unsigned long long factorial(int n) {
if (n == 0 || n == 1)
return 1;
else
return n * factorial(n - 1);
}
int main() {
int i;
printf("Factorials of numbers from 1 to 20:\n");
for(i = 1; i <= 20; ++i) {
unsigned long long result = factorial(i);
printf("%d! = %llu\n", i, result);
}
return 0;
}
```
这段代码首先定义了一个 `factorial` 函数,然后在主函数 `main` 中通过循环调用它,打印出每个数字的阶乘。
用C语言do while 实现n 的阶乘代码怎么写
以下是使用C语言do-while循环实现计算N的阶乘的代码:
```c
#include <stdio.h>
int main()
{
int n, i = 1, factorial = 1;
printf("请输入需要计算的数字n:");
scanf("%d", &n);
do
{
factorial *= i;
i++;
} while (i <= n);
printf("%d的阶乘为:%d", n, factorial);
return 0;
}
```
基本思路是使用循环累乘所有小于或等于N的数字,最终计算出N的阶乘。如果输入的N是负数,则会输出错误信息。
希望这个回答对你有所帮助!
阅读全文