当前位置: 代码迷 >> C语言 >> 10000!求1000!正确到10000就错,求改
  详细解决方案

10000!求1000!正确到10000就错,求改

热度:383   发布时间:2006-12-29 13:35:49.0
10000!求1000!正确到10000就错,求改

程序代码:

#include <stdio.h>
void main()
{
long i,j,b,c,h;
while(scanf(\"%ld\",&b)!=EOF)
{
if(b==0)
printf(\"0\n\");
else{
long a[100000]={0};
a[0]=1;
for(i=1,j=0;i<=b;i++)
{
for(h=j;h>=0;h--)
{
a[h]*=i;
if(a[h]>=10000)
{
c=a[h];
a[h]=a[h]%10000;
a[h+1]+=c/10000;
if(h+1>j)
j++;


}
}
}
printf(\"%ld\",a[j--]);
for(;j>=0;j--)
{
if(a[j]<1000&&a[j]>=100)
printf(\"0\");
if(a[j]<100&&a[j]>=10)
printf(\"00\");
if(a[j]<10)
printf(\"000\");
printf(\"%ld\",a[j]);
}
printf(\"\n\");
}
}
}


----------------解决方案--------------------------------------------------------
我现在在学校,没有 gcc 编译器。
不过void main()该为int main(void),因为void main()是错误的,主函数执行完毕后应返回值0,而void没有返回
----------------解决方案--------------------------------------------------------
我用的是VC
----------------解决方案--------------------------------------------------------
  相关解决方案