C語言求最近回文數

2021-10-04 09:26:31 字數 568 閱讀 7870

輸入乙個不大於1e4的正整數,輸出最接近它的回文數,如果同時有兩個數都一樣接近,就輸出較小的。

「最近的」說明絕對差值是最小的。

#include #include int inspect(int x) //寫乙個檢查函式,檢查是否是回文數

if(y==s) return 1;

else return 0;

} int main (void)

for(int i=n-1;;i--)//本身不是回文數,直接從n-1開始找

}for(int j=n+1;;j++)// 本身不是回文數,直接從n+1開始找

}if(fabs(n-t)>fabs(n-m)) printf("%d\n",m);// 比較找到以後的兩個數,看看那個離數n近

else printf("%d\n",t);// 這裡包括了兩個回文數距離相等,取小的那個

return 0;

}

`看注釋應該就已經解釋的很清楚了。這道題的主要思想就是有乙個絕對差值的問題,從n出發,同時從上下開始查詢回文數,並比較找出答案。(至於輸出結果是否換行,看具體題目需要)

C語言 回文數

回文數是一種正著讀反著讀都一樣的數,比如12321,asdsa 基本程式思路 建立兩個指標指向字串,使乙個字元指向該字串結束標記前乙個字元,另乙個指標指向開頭,然後判斷前後兩個指標的值是否相等,相等就比第二個第三個等等,不相等就直接break,因為它不是回文數。程式 如下 include intma...

C語言程式設計 求乙個回文數

回文數,是指正著讀 反著讀,都相同的數字。如 1221 13531.等等。任取乙個十進位制整數,用下面的方法可以求出乙個回文數 把這個數字的各個位,顛倒前後位置,形成乙個新數,再和原數相加,得到的和,就可能是乙個回文數。如果不是回文數,就再重複上述的步驟,則最終可得到回文數。如十進位制數是 78,則...

C語言 判斷回文數

判斷乙個數是否為回文數,回文數就是它的數字反向排列所得的自然數與它的本身是相等的,比如,若n 12321,則稱它是乙個回文數。程式利用到乙個數字遍歷的for迴圈,將輸入的數字進行反向排列,再與原輸入的數字進行比較,如果相等則為回文數。如下 define crt secure no warnings ...