回文是指正读和反读都一样的数或文本段。例如,12321、55555、45554、11611都是回文数。输入一个长度不超过10位的整数n,判断它是否是回文数。
输入格式:
只有一个整数n,即待判断的数字。测试用例保证n可以用int存储。
输出格式:
当n为回文数时输出“Yes”,否则输出“No”。
输入样例:
12321
输出样例:
Yes
代码如下
#include<stdio.h>
int main()
{
int n, i=0;
scanf("%d", &n);
int s = n;
while (n > 0)
{
i = i * 10 + n % 10;
n /= 10;
}
if (i == s)
printf("Yes\n");
else
printf("No\n");
return 0;
}
代码思路:求出逆置数如果逆置数与原来的数相等,则是回文数
逆置数详解看前面的博客
再写一种
#include<stdio.h>
int main()
{
int n,i=0;
scanf("%d", &n);
int arr[20] = { 0 };
while (n > 0)
{
arr[i] = n % 10;
n /= 10;
i++;
}
int right = i - 1;
int left = 0;
for (; left <= right; left++, right--)
{
if (arr[left] != arr[right])
{
printf("N0");
return 0;
}
}
printf("Yes");
}
用了数组,大同小异