当前位置: 代码迷 >> C语言 >> WHILE语句求N的阶乘出不了结果了,求救~
  详细解决方案

WHILE语句求N的阶乘出不了结果了,求救~

热度:757   发布时间:2006-01-08 02:51:00.0
你不让他循环能对吗
----------------解决方案--------------------------------------------------------

----------------解决方案--------------------------------------------------------
以下是引用黑白格子布在2006-1-2 16:57:00的发言:
你每次循环都把i和num赋初值了,能出结果就怪了

对呀。。。这个提醒不错。。。。


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

你这不是用C#编的吧


----------------解决方案--------------------------------------------------------
原来是死循环
----------------解决方案--------------------------------------------------------

怎么这几天遇到都是问一些低级错误的问题,大家应该多注意一点呀!


----------------解决方案--------------------------------------------------------
void main()
{
long int i,n,sum;
scanf("%ld",&n);
i=1;sum=1;
while (i<=n)
{
sum*=i;
i++;
}
printf("%ld!=%ld",n,sum);
getch();
}

这样就可以了
----------------解决方案--------------------------------------------------------
楼上的,i与n没必要用长整型,就只用在sum中即可,若真要实现大数阶乘的运算,就必须用动态数组实现,实现多位数的存放.
----------------解决方案--------------------------------------------------------
#include <conio.h> /* 此头函数请不要删除 */
#include <stdio.h>
main()
{int i,n,sum;
i=1;
sum=1;
printf("请输入一个数:");
scanf("%d",&n);
while(i<=n)
{
sum*=i;
i++;
}
printf("%d",sum);
getch(); /* 此语句请不要删除*/
}
----------------解决方案--------------------------------------------------------

如果我输入10000会不会出错啊。


----------------解决方案--------------------------------------------------------
  相关解决方案