我想弄清楚這段代碼有什麼問題,它應該打印所有從1到100,000的迴文數字(我知道它有很多數字)。我是新來的,我認爲這可能是一個簡單的修復,但我無法弄清楚,謝謝。C++中所有從1到100,000的迴文數字
當我運行該程序時,它只是給出:「100000不是迴文.............................. .................................................. ......................「
(它應該打印的數字如:111,121,131,141 .....直到100000)
#include<stdio.h>
#include<conio.h>
int main()
{
int n=0, reverse = 0, temp=0, i=0;
n=100000;
for(i=1; i<n; i++)
{
temp = i;
while(temp != 0)
{
reverse = reverse * 10;
reverse = reverse + temp % 10;
temp = temp/10;
}
if(i == reverse)
printf("%d", n);
else
printf(".");
}
getch();
return 0;
}
這將是嘗試在調試器中逐步瀏覽代碼以查看實際情況的好時機(提示:代碼中至少有一個相當明顯的錯誤 - 如果您已經看不到它,那麼它應該成爲當你進入while循環時顯而易見)。 –
您可能必須使用字符串來正確地轉換數字:http://stackoverflow.com/questions/4166886/reverse-of-a-number – andre