迴文數意指一個整數其各位數字按照正反順序讀完全相同,例如12321。判斷給出的整數是否是迴文數。若是,則輸出該整數各位數字之和,否則輸出no。
原理大致為:任何一個數除以10的餘數就是該數最後一位;任何一個數除以10的商就是排除掉最後一位後的數;所以 ,一個數1234 就可以通過這種方法得到 123 和 4;接下來對 123 進行同樣的操作,就得到 12 和 3;接下來得到 1 和 2;接著得到 0 和 1;整個過程是個循環,當商不是 0 的時候就一直如此;每次拿到一個餘數,都用來構造新數,新數=新數*10+餘數;所以經過四次循環後,我們得到新數 4321 ,如果是回文,那麼新數應該等於原數,否則,說明不是回文。
判斷迴文數的程序應為:
#include<stdio.h>int main(void){int a;scanf("%d",&a);//舉個例子a=1234int m;int sum = 0;m = a;//m=1234while(m)//m在第四次為0,循環的條件為m不等於0,所以循環四次結束{sum = sum*10 + m%10;//第一次等式為sum=0*10+1234%10(其實值就是4)=4,第二次等式為sum=4*10+123%10(其實值為3)=43,第三次等式為sum=43*10+12%10(其實值為2)=432,第四次sum=432*10+1%10(其實為1)=4321m /= 10; // m = m/10,第一次等式為m=1234/10=123,第二次m=123/10=12,第三次m=12/10=1,第四次m=1/10=0;}if( sum == a)printf("是迴文數! ");elseprintf("不是迴文數 ");//1234!=4321所以不是迴文數return 0;}
以上便是小編對:「如何判斷C語言的迴文數?」的大致介紹,希望對您有所幫助!