我正在解决一个问题,即如何在一定范围内的数字(例如,在'm'和'n'之间,其中m<n)中添加最后一位数字。我已经编写了以下代码:
#include <stdio.h>
int main()
{
int t=0;
long int m=0,n=0,num=0,sum=0,lsum=0,i=0;
scanf("%d",&t);
while(t--){
scanf("%ld%ld",&m,&n);
i=m;
while(i<=n){
while(i!=0){
num=i%10;
i/=10;
}
lsum=lsum+(sum%10);
i++;
}
}
printf("\n%ld",lsum);
return 0;
}
这里的t是测试用例数,m和n是范围。我不知道为什么在终端中它一直运行。我正在使用gcc(4.3.2)编译器。如何优化它的速度,或者是while条件永远不会终止的情况,但为什么呢?
for
循环,最好采用for (i=0; i<SOMETHING; i++)
的形式。这种形式非常难出错。 - ugoren