输入一个6位以内的整数,输出回文数(如果判断的位数大的话,在n的取值上就多取一点)
#include<stdio.h>
#define max 50
int arr[max];
int main() {
int a;
scanf_s("%d", &a);
int n = 0;
int num = a;
//求输入整数位数
printf("原数:");
for (int i = 0; i < 6; i++) {
if (num % 10) {
arr[i] = num % 10;//对10取余得各位的数字
num = num / 10;
n++;
}
else break;
printf("%d\t", arr[i]);
}
printf("逆序数:");
for (int j = n - 1; j >= 0; j--) {
printf_s("%d\t", arr[j]);
}
return 0;
}
判断是否为回文数:
#include<stdio.h>
int main(void)
{
int i, j, k = 0;
printf("please input number:");
scanf_s("%d", &i);
j = i;
while (j)
{
k = k * 10 + j % 10;
j /= 10;
}
if (k == i)
printf("%d是回文数!", i);
else
printf("%d不是回文数!", i);
return 0;
}