循环输入一个5位数,判断它是不是回文数。当输入0时循环结束。即12321是回文数,个位与万位相同,十位与千位相同。
相关知识:
1、需要用到分支语句以及循环语句的相关知识。
2、充分理解并应用C语言中%和/的区别(%是取余且只能用于整数运算;/用于整数取整运算,但如果除数为浮点型(5.0/2=2.5)其结果应为代数计算结果。
解题过程:
1、首先使用scanf来获取终端输入的五位数,并判断输入的值是否为0;
2、使用循环结构和分支判断语句来不断判断其是否是回文数;
3、将五位数的每一位上的数值取出;
4.判断个位与万位,十位与千位是否相同,如果相同,则将回文数打印出来;
具体代码如下所示:
#include <stdio.h>
int main(int argc, char const *argv[])
{
int a;
int i,j,k,m,n;
printf("请输入一个五位数:\n");
while(1)
{
scanf("%d",&a);
if(a==0)
{
printf("循环结束!\n");
break;
}
elseii1
{
i=a/10000;
j=a%10000/1000;
k=a%10000%1000/100;
m=a%10000%1000%100/10;
n=a%10;
if(i==n&&j==m)
{
printf("是回文数:%d\n",a);
printf("请继续输入:\n");
continue;
}
else
{
printf("不是回文数,请重新输入!\n");
continue;
}
}
}
return 0;
}