c语言程序1!+2!+3!+4!+5!

2024-11-24 11:06:23
推荐回答(5个)
回答1:

你的代码没错,只是没有累加

#include "stdio.h"
int main()
{
int i;
int fact();
int s=0; //定义一个和的结果变量
for(i=1;i<=5;i++) //求1到5,不是0-4
{
printf("\40:%d!=%d\n",i,fact(i));
s += fact(i) ;//累加各阶乘
}
printf("\40:sum=%d\n" , s ); //输出结果
return 0;
}
int fact(j)
int j;
{
int sum;
if(j==0)
sum=1;
else
sum=j*fact(j-1);
return sum;
}

回答2:

 #include
int fact(int j) 

 int sum; 
 if(j==0) 
  sum=1; 
 else 
  sum=j*fact(j-1); 
 return sum; 
}
 
void main() 

 int i,sum=0;  
 for(i=1;i<=3;i++) 
  sum+=fact(i);
 printf("%d\n",sum);
}

回答3:

输出是不是一直是1?后面fact()问题吧?
我觉得应该这样
int fact(j)

int j;

{
int sum;
if(j<>0)
sum=j*fact(j-1);
return sum;
}
另外,上面i应该是1开始

回答4:

main前面加void,
int j;这句去掉。
if(j==0||j==1)

回答5:

i取错了!!是1-5