我想用C语言实现1到10阶乘
时间: 2023-03-04 11:55:53 浏览: 15
您可以这样实现:
```
#include <stdio.h>
int main()
{
int i, n, fact = 1;
printf("请输入一个数字:");
scanf("%d", &n);
for (i = 1; i <= n; i++)
{
fact = fact * i;
}
printf("%d 的阶乘为 %d\n", n, fact);
return 0;
}
```
上面的代码使用了一个循环,每次将当前的乘积乘以 `i`,从而得到结果。请注意,在循环开始之前,初始的乘积应该设为 1。
相关问题
C语言实现,1的阶乘加到10的阶乘
在C语言中,计算从1到10的阶乘并相加以得到它们的总和,可以使用循环结构来依次计算每个数的阶乘,并将结果累加。这里是一个简单的示例代码:
```c
#include <stdio.h>
unsigned long long factorial(int n) {
if (n == 0 || n == 1) { // 阶乘的基本情况,0和1的阶乘都是1
return 1;
} else {
return n * factorial(n - 1); // 递归计算阶乘
}
}
int main() {
unsigned long long sum = 0; // 初始化累加器
for (int i = 1; i <= 10; ++i) {
unsigned long long fact = factorial(i);
sum += fact;
printf("The factorial of %d is: %llu\n", i, fact);
}
printf("Sum of the factorials from 1 to 10 is: %llu\n", sum);
return 0;
}
```
这个程序首先定义了一个`factorial`函数,用于计算给定整数的阶乘。然后,在主函数`main`里,通过循环计算1到10的阶乘并将它们累加到变量`sum`中。
运行此程序,它会打印出每个数的阶乘以及它们的总和。
用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
阅读全文