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

来源:百度知道 编辑:UC知道 时间:2024/05/29 21:40:09
原码
# 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.scanf("%d,&n);少了半个引号
2.关键错误,主函数main中sum应赋初值0

#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;
}

请注意,在编程时要有良好的风格.

11111