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

目录

[C 语言实现](#C 语言实现)

[Python 实现](#Python 实现)

[Java 实现](#Java 实现)

[Js 实现](#Js 实现)


**题目:**一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同。

**程序分析:**学会分解出每一位数。

C 语言实现

objectivec 复制代码
#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 实现

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 实现

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 实现

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

注意:

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

以上实例输出结果为:

javascript 复制代码
请输入 5 位数字:12321
这是回文数

请输入 5 位数字:12345
这不是回文数
相关推荐
猫头虎2 分钟前
如何解决 pip install -r requirements.txt extras 语法 ‘package[extra’ 缺少 ‘]’ 解析失败问题
开发语言·python·开源·beautifulsoup·virtualenv·pandas·pip
瀚高PG实验室6 分钟前
HGDB集群(安全版)repmgr手动切换主备库
java·数据库·安全·瀚高数据库
歪歪10010 分钟前
ts-jest与其他TypeScript测试工具的对比
前端·javascript·测试工具·typescript·前端框架
eqwaak016 分钟前
动态图表导出与视频生成:精通Matplotlib Animation与FFmpeg
开发语言·python·ffmpeg·音视频·matplotlib
刘新明198917 分钟前
Frida辅助分析OLLVM虚假控制流程(下)
java·开发语言·前端
澄澈i20 分钟前
CMake学习篇[3]---CMake进阶+嵌套CMakeLists+多层级关系
c++·学习·cmake
搂鱼11451425 分钟前
GJOI 10.7/10.8 题解
算法
Camellia031126 分钟前
为第二次考核的电控学习
学习
茯苓gao33 分钟前
电路学习(一)
学习
江城开朗的豌豆34 分钟前
小程序登录不迷路:一篇文章搞定用户身份验证
前端·javascript·微信小程序