用c语言输出1到20的阶乘
时间: 2023-05-22 20:06:59 浏览: 83
请看以下代码:
```c
#include <stdio.h>
int main() {
int i, j, f;
for (i = 1; i <= 20; i++) {
f = 1;
for (j = 1; j <= i; j++) {
f *= j;
}
printf("%d! = %d\n", i, f);
}
return 0;
}
```
这样就可以输出1到20的阶乘结果了。
相关问题
c语言输出1到5的阶乘值
好的,您可以参考下面的代码实现:
```c
#include <stdio.h>
int factorial(int n); // 函数声明
int main() {
for (int i = 1; i <= 5; i++) {
int result = factorial(i); // 计算i的阶乘
printf("%d的阶乘是:%d\n", i, result);
}
return 0;
}
int factorial(int n) { // 函数定义
int result = 1; // 初始化结果为1
for (int i = 1; i <= n; i++) {
result *= i; // 计算阶乘
}
return result;
}
```
程序中定义了一个 `factorial` 函数,用于求一个数的阶乘。在 `main` 函数中,我们使用一个循环,遍历1到5,对每个数调用 `factorial` 函数来计算其阶乘。在 `factorial` 函数中,我们使用一个变量 `result` 来表示阶乘的结果,初始化为1,然后通过一个循环,累乘每个数,最后得到阶乘的结果,并返回该结果。
用c语言求1到10阶乘的和
可以使用循环和递归两种方式来实现。下面是使用循环的方法:
```c
#include <stdio.h>
int main()
{
int i, n = 10;
int sum = 0, fact = 1;
for(i = 1; i <= n; i++)
{
fact *= i;
sum += fact;
}
printf("1到%d阶乘的和为:%d\n", n, sum);
return 0;
}
```
输出:1到10阶乘的和为:4037913
如果使用递归的方法,可以这样实现:
```c
#include <stdio.h>
int fact(int n)
{
if(n == 1)
return 1;
else
return n * fact(n - 1);
}
int main()
{
int i, n = 10;
int sum = 0;
for(i = 1; i <= n; i++)
{
sum += fact(i);
}
printf("1到%d阶乘的和为:%d\n", n, sum);
return 0;
}
```
输出:1到10阶乘的和为:4037913