C語言——判斷一個數是否是回文數(對稱數)


使用C語言判斷某一個數是否是回文數(對稱數),此次為個人練習,若有錯誤敬請提出。

首先,我們需要知道回文數就是對稱數,例如:12321是回文數(對稱數),124421是回文數(對稱數),1231不是回文數(對稱數)。

判斷原理為:原整型數依次取余,將所得余數構造成一個新整型數,判斷新整型數與原整型數是否一致。若一致,則該整型數是回文數,若不一致,則該整型數不是回文數。

要求:輸入一個整型數,判斷是否是對稱數,如果是,輸出yes,否則輸出no,不用考慮這個整型數過大,int類型存不下,不用考慮負值。

 

代碼如下:

 1 #include <stdio.h>
 2 #include <math.h>
 3  
 4 int main(){
 5     int g,a,k;
 6     scanf("%d",&a);
 7     g = 0;
 8     k = a;
 9     while (k) {
10         g = g * 10 + k % 10;
11         k = k / 10;
12     }
13     if (g == a) {
14         printf("yes\n");
15     }else{
16         printf("no\n");
17     }
18     return 0;
19 }

 

運行結果:

輸入12321時,所以輸出的字符型應為 "yes" ,如下所示:

12321
yes

 

輸入1231時,所以輸出的字符型應為 "no" ,如下所示:

1231
no

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM