用C语言编写程序:20∑n=1(n!),即1!+2!+3!+……+19!+20!(从1的阶乘一直加到20的阶乘)
66666
虽然我看不懂,还是给你吧
#include "stdio.h"
#define NUM 20
int main()
{
int sum = 0;
int sumTmp = 0;
for (int i=1; i<=NUM; i++)
{
sumTmp = 1;
for (int j=1; j<=i; j++)
{
sumTmp = sumTmp*j;
}
sum = sum + sumTmp;
}
printf("%d\n", sum);
return 0;
}
你看下这个可以吗
追答这个思路也是对的,就是注意20!的阶乘很大,要用浮动类型变量才能存放,如double型变量,这样仅仅完成你的问题,可以在一个main函数里完成,用一个循环完成:
#include
int main( )
{
int i = 0;
const int MAX_NUM = 20; //最大求到20的阶乘
double sum = 0;
double factorial = 1.0;
//求1!+2! +...+20!
for (i=1; i<=MAX_NUM; i++)
{
factorial = factorial*i;//求i的阶乘,如i=20时,就是20!
sum = sum + factorial; // 把阶乘factorial加入存放总和的变量sum中
}
printf("1!+...+%d!=%.0f\n",MAX_NUM, sum);//输出结果信息
}
void main(){
int n=1,sum=1;
while(n<=20){
sum=sum+sum*n;
n++;
}
printf("sum=%d",sum);
}
你看这个对吗