【发布时间】:2012-06-06 13:13:17
【问题描述】:
#include<stdio.h>
int main()
{
long ctr[100000],i;
float j;
long d[100000],T,h,o;
scanf("%ld",T);
printf("\n");
for(i=0; i<T; i++)
{
scanf("%ld",d[i]);
printf("\n");
for(h=d[i]; h<=0; h--)
{
j=h%10;
if(j==5)
{
ctr[i]++;
}
}
}
for(o=0; o<=i; o++)
{
printf("%ld\n",o);
}
return 0;
}
这是一个程序,用于查找用户输入的一组“T”数字的阶乘的尾随零个数。
我所做的是将每个数字除以 10 并测试数字是否为 5。然后我将数字减 1 直到它达到 0。每对 5*4 贡献一个尾随 0。
是程序消耗了太多内存还是存在其他运行时错误?该程序出现运行时错误,有人可以帮忙吗?
【问题讨论】:
-
您是否尝试在调试器下运行您的代码?你学到了什么 ?您还注意编译器警告吗?注意到
scanf("%ld",T);或scanf("%ld",d[i]);有什么问题吗? -
你是说你除以零吗?这是个大问题!
-
没有。其实是网上练习题。他们告诉我这是一个运行时错误。
-
格式有很多不足之处。
标签: c