错在哪里1!+2!+3!+ +n! c语言 调用fact函数求阶乘之和

原码
# include <stdio.h>
int fact(int n);
int main ()
{int sum,n,i=1;
printf("enter n");
scanf("%d,&n);

while (i<=n){sum=sum+fact(i);
i++;}
printf("sum=%d\n",sum);
return 0;}
int fact(int n){int i,sum=1;
for(i=1,i<=n,i++)
sum=sum*i;
return sum;}
上面的打错了# include <stdio.h>
int fact(int n);
int main ()
{int sum,n,i=1;
printf("enter n");
scanf("%d,&n);

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

第1个回答  2008-09-13
#include <stdio.h>
int fact(int n);
int main ()
{
int sum=0,n,i=1;
printf("enter n");
scanf("%d",&n);

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

for(i=1;i<=n;i++)
{
sum=sum*i;
}
return sum;
}

请注意,在编程时要有良好的风格.
第2个回答  2008-09-13
1.scanf("%d,&n);少了半个引号
2.关键错误,主函数main中sum应赋初值0本回答被提问者采纳
第3个回答  2008-09-13
11111
相似回答