----------------解决方案--------------------------------------------------------
----------------解决方案--------------------------------------------------------
以下是引用黑白格子布在2006-1-2 16:57:00的发言:
你每次循环都把i和num赋初值了,能出结果就怪了
你每次循环都把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会不会出错啊。
----------------解决方案--------------------------------------------------------