C语言经典例30-判断回文数
生活随笔
收集整理的這篇文章主要介紹了
C语言经典例30-判断回文数
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
目錄
- 1 題目
- 2 分析
- 3 實現
- 4 運行結果
1 題目
一個5位數,判斷它是不是回文數。即12321是回文數,個位與萬位相同,十位與千位相同。
2 分析
本題的思路是把這個數分解重新組成一個數,分解的方法是將該數逆置,再與原來的數比較是否相等,若相等就是回文數,逆置的方法是設保存逆置的數為rev 初始為0,每一次將它乘10,即rev * 10,然后把要判斷的數t,取余10與rev相加,即rev += t % 10,再將t除以10,即t /= 10,循環的條件是t不等于0,這樣循環結束后,得到的數rev就是與原來的數t順序相反,再判斷兩者是否相等即可
3 實現
#include <stdio.h>int IsRev(int input) {int rev = 0;int t = input;while (t) {rev *= 10;rev += t % 10;t /= 10;}return (rev == input); }int main(void) {int input;scanf("%d", &input);if (IsRev(input)) {printf("是回文數\n");} else {printf("不是回文數\n");}return 0; }4 運行結果
PS E:\C++WorkSpace> cd "e:\C++WorkSpace\" ; if ($?) { g++ FFF.cpp -o FFF } ; if ($?) { .\FFF } 123 不是回文數 PS E:\C++WorkSpace> cd "e:\C++WorkSpace\" ; if ($?) { g++ FFF.cpp -o FFF } ; if ($?) { .\FFF } 12321 是回文數總結
以上是生活随笔為你收集整理的C语言经典例30-判断回文数的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C语言经典例27-利用递归逆序输出字符串
- 下一篇: C语言经典例32-删除字符串中指定的字符