第1个回答 推荐于2018-03-11
#include <stdio.h>
void main()
{
int i=1,j=1,k=1,sum=0;
while(i<=20)
{ while(j<=i)
{
k*=j;
j++;
sum+=k;
}
i++;
}
printf("%d\n",sum);
}本回答被提问者和网友采纳
第2个回答 2011-03-31
这个是你需要的程序,我在vc6下调试运行正确了,其中用递归计算n!,用while来计算总的和
#include<stdio.h>
void main()
{
long int sum=0;
long int count(int n);
int i=1;
while(i<=20)
{
sum+=count(i);
i++;
}
printf("result=%ld",sum);
}
long int count(int n)
{
if(n>1)
return count(n-1)*n;
else
return 1;
}
第3个回答 2011-03-31
1+2!+3!+...+20!
long sum = 0;
int i = 1;
long fac = 1;
while(i <= 20){
fac = fac * i;
sum = sum + fac;
i++;
}
printf(sum);
---------------------------------------------------递归
long sum =0;
int i = 1;
while(i <= 20){
sum = sum + calcFac(i);
i++;
}
long calcFac(int num){
if(num == 1) {
return 1;
else{
return calcFac(num-1) * num;
}
}
第4个回答 2011-03-31
#include <stdio.h>
void main()
{
int i=1,j=1,k=1,sum=0;
while(i<=20)
{ while(j<=i)
{
k*=j;
j++;
sum+=k;
}
i++;
}
printf("%d\n",sum);
}
vc6.0调试过正确
第5个回答 2011-04-01
<stdio.h>
#include <conio.h>
void main()
{
float n,s=0,t=1;
for(n=1;n<=20;n++)
{
t*=n;
s+=t;
}
printf("1+2!+3!...+20!=%e\n",s);
getch();
}