一个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
这不是回文数
相关推荐
天天爱吃肉82183 分钟前
新能源汽车热管理核心技术解析:冬季续航提升40%的行业方案
android·python·嵌入式硬件·汽车
GISer_Jing4 分钟前
[总结篇]个人网站
前端·javascript
ss.li5 分钟前
TripGenie:畅游济南旅行规划助手:个人工作纪实(二十二)
javascript·人工智能·python
eternal__day16 分钟前
Spring Cloud 多机部署与负载均衡实战详解
java·spring boot·后端·spring cloud·负载均衡
l木本I19 分钟前
大模型低秩微调技术 LoRA 深度解析与实践
python·深度学习·自然语言处理·lstm·transformer
颜淡慕潇20 分钟前
Redis 实现分布式锁:深入剖析与最佳实践(含Java实现)
java·redis·分布式
哆啦A梦的口袋呀22 分钟前
基于Python学习《Head First设计模式》第七章 适配器和外观模式
python·学习·设计模式
恰薯条的屑海鸥25 分钟前
零基础在实践中学习网络安全-皮卡丘靶场(第十期-Over Permission 模块)
学习·安全·web安全·渗透测试·网络安全学习
十月狐狸25 分钟前
Python字符串进化史:从青涩到成熟的蜕变
python
程序员秘密基地26 分钟前
基于vscode,idea,java,html,css,vue,echart,maven,springboot,mysql数据库,在线考试系统
java·vue.js·spring boot·spring·web app