代码实现:
#include <stdio.h>
int is_palindrome_number(int num)
{
int old_val = num; //传入的数字
int new_val = 0; //颠倒后的数字
while(num) //当前num的位数大于1(值大于9)
{
//将new_val乘以10,然后加上num的个位数,
//使个位数从原来的后第n位变成前第n位
new_val = new_val * 10 + num % 10;
num /= 10; //num除以10,将个位数去掉
}
if(new_val == old_val) //如果反转后的数字和原数字相同
return 1;
else return 0;
}
int main()
{
int i = 0;
float speed = 0.0f;
for(i = 95859 + 1; ;i++)
{
if(is_palindrome_number(i))
{
printf("新的对称数为%d\n", i);
break;
}
}
speed = (i - 95859) / 2.0f;
printf("该车的速度是%.1f公里/小时\n", speed);
return 0;
}