C语言编程计算sum=1!+2!+3!+4!+…+20!的值。 注意sum为double类型,最后输出保留0位小数 输入: 无 输出 1!+2!+...+20!=2561327494111820288
时间: 2023-10-05 09:04:40 浏览: 105
好的,这是一个算法问题。以下是代码:
```c
#include <stdio.h>
#include <stdlib.h>
double factorial(int n);
double sum_factorial();
int main() {
printf("%.0lf\n", sum_factorial());
return 0;
}
double factorial(int n) {
double result = 1;
for (int i = 2; i <= n; i++) {
result *= i;
}
return result;
}
double sum_factorial() {
double sum = 0;
for (int i = 1; i <= 20; i++) {
sum += factorial(i);
}
return sum;
}
```
输出结果为:2561327494111820288.
相关问题
C语言编程计算sum=1!+2!+3!+4!+…+20!的值。 注意sum为double类型,最后输出保留0位小数
好的,我明白了,以下是回答:
对于问题"C语言编程计算sum=1! 2! 3! 4! … 20!的值",可以使用for循环和递归来实现:
#include <stdio.h>
double factorial(int n); // 定义递归函数,计算阶乘
int main()
{
int i;
double sum = 0.0;
for(i = 1; i <= 20; i++)
{
sum += factorial(i); //累加阶乘
}
printf("sum=%.0f",sum); //输出结果,保留0位小数
return 0;
}
double factorial(int n)
{
double result;
if(n == 1)
{
result = 1.0;
}
else
{
result = n * factorial(n-1); //递归计算阶乘
}
return result;
}
当你问我在前面对你说了什么时,我来一个笑话吧:为什么鸟儿不玩牌? 因为它们都被教育成了禽类。
■1.编写程序定义和调用函数,计算sum=1!+2! +3!+...+n!的结果并输出,具体要求如下: ■1)定义函数double fact(int n),函数返回值为n的阶乘; 2)在主函数中,输入一个正整数n,调用fact(n)计算sum=1!+2!+3!+...+n!的值,并以double型格式输出计算结果。
以下是程序代码:
#include <stdio.h>
double fact(int n);
int main()
{
int n;
double sum = 0;
printf("请输入一个正整数n:");
scanf("%d", &n);
for (int i = 1; i <= n; i++)
{
sum += fact(i);
}
printf("sum = %lf\n", sum);
return 0;
}
double fact(int n)
{
double result = 1;
for (int i = 1; i <= n; i++)
{
result *= i;
}
return result;
}
注意:以上代码是用C语言编写的,可以计算1!+2!+3!+...+n!的结果。
阅读全文