当前位置: 代码迷 >> C语言 >> 这个求阶乘的程序错在了什么地方啊?
  详细解决方案

这个求阶乘的程序错在了什么地方啊?

热度:145   发布时间:2007-03-24 12:37:22.0
这个求阶乘的程序错在了什么地方啊?

#include "stdio.h"
#include "conio.h"

main()
{
int n,i,sum,p;
p=1;sum=0;
for(n=1;n<=5;n++)
{for(i=1;i<=n;i++)
p=p*i;}
sum=sum+p;
printf("1!+2!+3!+4!+5!=%d\n",sum);

getch();
}

搜索更多相关的解决方案: sum  阶乘  include  int  

----------------解决方案--------------------------------------------------------

修改后的程序如下:

#include <stdio.h>
main()
{
int n,i,p,sum;
sum=0;
for(n=1;n<=5;n++)
{for(i=1,p=1;i<=n;i++) /*p应该放在 for 循环里面*/
p=p*i;
sum=sum+p;
}
printf("1!+2!+3!+4!+5!=%d\n",sum);

getchar();
}




----------------解决方案--------------------------------------------------------
回复:(liel)修改后的程序如下:#include
为什么?就是因为它是循环变量么?那sum怎么不放进去?
----------------解决方案--------------------------------------------------------
SUM 有初值,而P无初值.
----------------解决方案--------------------------------------------------------

look

#include "stdio.h"
#include "conio.h"

void main()
{
int n,sum,p;
p=1;
sum=0;
for(n=1;n<=5;n++)
{
p=p*n;
sum=sum+p;
}

printf("1!+2!+3!+4!+5!=%d\n",sum);

getch();
}


----------------解决方案--------------------------------------------------------
谢谢吖~~HEHE  
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
for  循环中少了一个"}".
----------------解决方案--------------------------------------------------------
  相关解决方案