题目:
判断一个5位整数是否为回文数(回文数:10001、22022)。
实现思路:
回文数是指正读和反读都一样的数,例如12321。为了判断一个5位整数是否为回文数,我们可以将这个整数拆分为各个数字,然后比较第一位和第五位,第二位和第四位是否相同。具体实现时,我们可以使用取模和整除操作来获取这个整数的每一位数字,并进行比较。
代码:
#include <stdio.h> // 引入标准输入输出库
int main() {
int x; // 定义一个整数x用于存储用户输入
// 提示用户输入一个5位整数
printf("请输入一个5位整数:\n");
// 读取用户输入的整数并存储在x中
scanf("%d", &x);
// 判断x是否为5位整数
if (x >= 10000 && x <= 99999) {
// 判断x是否为回文数
// (x/10000)获取x的第一位数字
// (x%10)获取x的最后一位数字
// ((x%10000)/1000)获取x的第二位数字
// ((x%100)/10)获取x的倒数第二位数字
if ((x / 10000) == (x % 10) && ((x % 10000) / 1000) == ((x % 100) / 10)) {
printf("%d是一个回文数\n", x); // 如果是回文数,则输出提示信息
} else {
printf("%d不是回文数\n", x); // 如果不是回文数,则输出提示信息
}
} else {
printf("你输入的不是5位整数!"); // 如果输入的数不是5位数,则输出提示信息
}
return 0; // 程序正常结束,返回0
}
解读:
- 首先,程序包含了
stdio.h
头文件,以便使用printf
和scanf
等标准输入输出函数。- 在
main
函数中,定义了一个整数变量x
来存储用户的输入。- 使用
printf
函数提示用户输入一个5位整数。- 使用
scanf
函数读取用户的输入,并将其存储在变量x
中。- 接下来,程序检查
x
是否为5位整数。这是通过判断x
是否在10000和99999之间来实现的。- 如果
x
是5位整数,程序将进一步判断它是否为回文数。这是通过比较第一位和最后一位数字,以及第二位和倒数第二位数字是否相同来实现的。这些数字的获取是通过整除和取模运算完成的。- 根据判断结果,程序将输出相应的信息,告诉用户输入的数是否为回文数。
- 如果输入的数不是5位数,程序将输出一个提示信息,告诉用户他们的输入不符合要求。
- 最后,程序返回0,表示正常结束。