C語言——判斷一個數是否是迴文數(對稱數)
阿新 • • 發佈:2021-10-07
使用C語言判斷某一個數是否是迴文數(對稱數),此次為個人練習,若有錯誤敬請提出。
首先,我們需要知道迴文數就是對稱數,例如:12321是迴文數(對稱數),124421是迴文數(對稱數),1231不是迴文數(對稱數)。
判斷原理為:原整型數依次取餘,將所得餘數構造成一個新整型數,判斷新整型數與原整型數是否一致。若一致,則該整型數是迴文數,若不一致,則該整型數不是迴文數。
要求:輸入一個整型數,判斷是否是對稱數,如果是,輸出yes,否則輸出no,不用考慮這個整型數過大,int型別存不下,不用考慮負值。
程式碼如下:
1 #include <stdio.h> 2 #include <math.h> 34 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