一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。-多语言

时间:2024-11-30 21:36:58

目录

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; // 正常结束程序
}
  1. 输入检查:程序首先检查输入的数字是否为 5 位数。如果不是,输出提示并退出。
  2. 分解数字:使用取余和整除运算符分解出万位、千位、十位和个位的数字。
  3. 回文判断:通过比较个位与万位、十位与千位来判断是否为回文数。
  4. 输出结果:根据判断结果输出相应的信息。

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("这不是回文数")
  1. 函数定义is_palindrome(num) 函数用于判断给定的数字是否为回文数。
    • 首先将数字转换为字符串。
    • 检查字符串的长度是否为 5 位。
    • 使用切片 [::-1] 反转字符串并与原字符串进行比较。
  2. 主程序
    • 使用 input() 函数获取用户输入,并将其转换为整数。
    • 调用 is_palindrome() 函数判断输入的数字是否为回文数,并输出相应的结果。

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(); // 关闭扫描器
    }
}
  1. 导入 Scanner 类:用于获取用户输入。
  2. 主类和主方法:定义 PalindromeChecker 类和 main 方法。
  3. 用户输入:使用 Scanner 获取用户输入的数字。
  4. 输入检查:检查输入的数字是否为 5 位数。如果不是,输出提示并退出。
  5. 分解数字:使用取余和整除运算符分解出万位、千位、十位和个位的数字。
  6. 回文判断:通过比较个位与万位、十位与千位来判断是否为回文数。
  7. 输出结果:根据判断结果输出相应的信息。
  8. 关闭扫描器:在程序结束时关闭 Scanner 对象以释放资源。

Js 实现

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("这不是回文数");
}
  1. 函数定义isPalindrome(num) 函数用于判断给定的数字是否为回文数。
    • 首先将数字转换为字符串。
    • 检查字符串的长度是否为 5 位。
    • 使用 split('') 将字符串分割成字符数组,reverse() 反转数组,join('') 将数组重新组合成字符串,并与原字符串进行比较。
  2. 主程序
    • 使用 prompt() 函数获取用户输入,并将其转换为整数。
    • 调用 isPalindrome() 函数判断输入的数字是否为回文数,并输出相应的结果。

注意:

  • 在浏览器中运行时,prompt() 会弹出一个输入框,用户可以在其中输入数字。
  • 在 Node.js 环境中,你可以使用 readline 模块来获取用户输入,或者直接在代码中指定一个数字进行测试。

以上实例输出结果为:

请输入 5 位数字:12321
这是回文数

请输入 5 位数字:12345
这不是回文数