我解決添加範圍之間躺在號碼的最後一位數字的問題(當然,「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條件永遠不會終止,但爲什麼?
您是否嘗試過在調試器中運行它,逐行逐行執行代碼?您可以輕鬆檢查條件和變量,找出問題所在。 – 2012-07-30 11:41:25
使用'for'循環,最好使用'for(i = 0; i
ugoren
2012-07-30 12:53:33