2015-10-21 73 views
-6

有人可以告訴我的代碼有什麼問題嗎?迴文數字,代碼不起作用

此代碼試圖從100-999

#include <stdio.h> 
int main() 
{ 
    int temp, n, reverse = 0, rem; 
    n = 100; 
    while (n <= 999) 
    { 
     temp = n; 
     while(temp!=0) 
     { 
      rem = temp%10; 
      reverse = reverse*10+rem; 
      temp/=10; 
     } 
     if (reverse == n) 
     { 
      printf(" %d \t", n); 
     } 
     n = n + 1; 
    } 
    return 0; 
} 

感謝推導出數字迴文。

+4

我投票,因爲它顯示了發帖時沒有努力縮小這個問題作爲題外話。 – gsamaras

+0

上午投票結束,沒有努力,不得不自由地重新格式化代碼。 OP表現出懶惰。我們不在這裏爲你工作。告訴我們你做了什麼/調試/嘗試過? – t0mm13b

+0

它是否給出錯誤消息(如果有,是什麼)?你使用了哪些測試數據?函數返回了什麼。請澄清你實際要求的。 – JenB

回答

0

您應該設置reverse回0爲每個新n

while (n <= 999) 
{ 
    reverse = 0; # <== otherwise you are using old value in reverse 
    temp = n; 
    while(temp!=0)