使用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