目录
C 语言实现
Python 实现
Java 实现
Js 实现
题目:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。
程序分析:学会分解出每一位数。
C 语言实现
#include <stdio.h>int main() {int x;printf("请输入 5 位数字:");scanf("%d", &x);// 检查输入是否为 5 位数if (x < 10000 || x > 99999) {printf("输入的数字不是 5 位数\n");return 1; // 退出程序}// 分解出各位数字int ge = x % 10; // 个位int shi = (x / 10) % 10; // 十位int qian = (x / 1000) % 10; // 千位int wan = (x / 10000) % 10; // 万位// 判断是否为回文数if (ge == wan && shi == qian) {printf("这是回文数\n");} else {printf("这不是回文数\n");}return 0; // 正常结束程序
}
- 输入检查:程序首先检查输入的数字是否为 5 位数。如果不是,输出提示并退出。
- 分解数字:使用取余和整除运算符分解出万位、千位、十位和个位的数字。
- 回文判断:通过比较个位与万位、十位与千位来判断是否为回文数。
- 输出结果:根据判断结果输出相应的信息。
Python 实现
python">def is_palindrome(num):# 将数字转换为字符串num_str = str(num)# 检查是否为 5 位数if len(num_str) != 5:return False# 判断回文数return num_str == num_str[::-1]# 主程序
if __name__ == "__main__":x = int(input("请输入 5 位数字:"))if is_palindrome(x):print("这是回文数")else:print("这不是回文数")
- 函数定义:
is_palindrome(num)
函数用于判断给定的数字是否为回文数。- 首先将数字转换为字符串。
- 检查字符串的长度是否为 5 位。
- 使用切片
[::-1]
反转字符串并与原字符串进行比较。
- 主程序:
- 使用
input()
函数获取用户输入,并将其转换为整数。 - 调用
is_palindrome()
函数判断输入的数字是否为回文数,并输出相应的结果。
- 使用
Java 实现
java">import java.util.Scanner;public class PalindromeChecker {public static void main(String[] args) {Scanner scanner = new Scanner(System.in);System.out.print("请输入 5 位数字:");int x = scanner.nextInt();// 检查输入是否为 5 位数if (x < 10000 || x > 99999) {System.out.println("输入的数字不是 5 位数");return; // 退出程序}// 分解出各位数字int ge = x % 10; // 个位int shi = (x / 10) % 10; // 十位int qian = (x / 1000) % 10; // 千位int wan = (x / 10000) % 10; // 万位// 判断是否为回文数if (ge == wan && shi == qian) {System.out.println("这是回文数");} else {System.out.println("这不是回文数");}scanner.close(); // 关闭扫描器}
}
- 导入 Scanner 类:用于获取用户输入。
- 主类和主方法:定义
PalindromeChecker
类和main
方法。 - 用户输入:使用
Scanner
获取用户输入的数字。 - 输入检查:检查输入的数字是否为 5 位数。如果不是,输出提示并退出。
- 分解数字:使用取余和整除运算符分解出万位、千位、十位和个位的数字。
- 回文判断:通过比较个位与万位、十位与千位来判断是否为回文数。
- 输出结果:根据判断结果输出相应的信息。
- 关闭扫描器:在程序结束时关闭
Scanner
对象以释放资源。
Js 实现
javascript">function isPalindrome(num) {// 将数字转换为字符串const numStr = num.toString();// 检查是否为 5 位数if (numStr.length !== 5) {return false;}// 判断回文数return numStr === numStr.split('').reverse().join('');
}// 主程序
const input = prompt("请输入 5 位数字:");
const x = parseInt(input, 10);if (isPalindrome(x)) {console.log("这是回文数");
} else {console.log("这不是回文数");
}
- 函数定义:
isPalindrome(num)
函数用于判断给定的数字是否为回文数。- 首先将数字转换为字符串。
- 检查字符串的长度是否为 5 位。
- 使用
split('')
将字符串分割成字符数组,reverse()
反转数组,join('')
将数组重新组合成字符串,并与原字符串进行比较。
- 主程序:
- 使用
prompt()
函数获取用户输入,并将其转换为整数。 - 调用
isPalindrome()
函数判断输入的数字是否为回文数,并输出相应的结果。
- 使用
注意:
- 在浏览器中运行时,
prompt()
会弹出一个输入框,用户可以在其中输入数字。 - 在 Node.js 环境中,你可以使用
readline
模块来获取用户输入,或者直接在代码中指定一个数字进行测试。
以上实例输出结果为:
javascript">请输入 5 位数字:12321
这是回文数请输入 5 位数字:12345
这不是回文数