我想寫一個程序,其中用戶在程序中輸入一個整數,然後C按順序返回該整數的每個數字。爲了實現這一點,我試圖將輸入的整數除以10的因子並循環,直到我最終達到最後一位。不幸的是,我的循環存在問題。 2位數字工作正常,但3位或更多,我進入一個無限循環。任何人有什麼建議我要去哪裏錯了?WHILE循環中IF語句的問題
int main()
{
int Num;
int a;
int count=0;
printf("Enter an integer > ");
scanf("%d", &Num);
printf("**Digits Forward!**\n");
if (Num<10) {
printf("Final digit: %d\n",Num);
printf("**Digits Reverse!**\n");
printf("Final digit: %d\n",Num);
printf("That's all, have a nice day!\n");
} ///No Problems So far.
else {
while (Num>=10) {
a=Num/10;
count=count+1;
if (a<10) {
printf("Digit: %d\n", a);
Num = Num-pow(10,count)*a;
count=0;
}
}
} ///Having trouble in this loop. Why doesn't it loop using the new Num and count values?
printf("Final digit: %d\n",Num);
return 0;
}
我不驚訝,你不能自己調試這段代碼。這根本不可讀。 – 2013-05-01 00:52:50
我必須誠實地同意我甚至不確定你在那裏做什麼。 – Nomad101 2013-05-01 00:54:31
請通過適當縮進並添加註釋來清理代碼。閱讀未註釋的,無意義的代碼非常困難。 – templatetypedef 2013-05-01 01:01:30