其他分享
首页 > 其他分享> > C语言每日一练——第43天:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

C语言每日一练——第43天:一个5位数,判断它是不是回文数。即12321是回文数,个位与万位相同,十位与千位相同

作者:互联网

C语言每日一练
2021年10月25日

题目描述

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

分析

C语言每日一练——第6天:回文数中已经实现了比较先进的判断回文数的方法,因为这个题目比较简单(规定了5位数),所以这次就用笨方法——判断这个数的个位万位是否相同,十位千位是否相同。

代码实现

#include <stdio.h>

int main()
{
    int num = 0;
    int ones = 0;     //个位
    int decade = 0;   //十位
//    int hundred = 0;  //百位
    int kilobit = 0;  //千位
    int myriabit = 0; //万位

    printf("请输入一个5位数\n");
    scanf("%d", &num);
    if(num < 10000 || num > 99999)
    {
        printf("错误,%d不是5位数\n", num);
        return 0;
    }
    ones = num % 10;           //获取个位数
    decade = num / 10 % 10;    //获取十位数
    kilobit = num / 1000 % 10; //获取千位数
    myriabit = num / 10000;    //获取万位数
    if(ones == myriabit && decade == kilobit)
        printf("%d是回文数\n", num);
    else
        printf("%d不是回文数\n", num);
    return 0;
}

运行结果

在这里插入图片描述
在这里插入图片描述

网上参考

原文链接:https://www.runoob.com/cprogramming/c-exercise-example30.html

//  Created by www.runoob.com on 15/11/9.
//  Copyright © 2015年 菜鸟教程. All rights reserved.
//
 
#include <stdio.h>
 
int main( )
{
    long ge,shi,qian,wan,x;
    printf("请输入 5 位数字:");
    scanf("%ld",&x);
    wan=x/10000;        /*分解出万位*/
    qian=x%10000/1000;  /*分解出千位*/
    shi=x%100/10;       /*分解出十位*/
    ge=x%10;            /*分解出个位*/
    if (ge==wan&&shi==qian) { /*个位等于万位并且十位等于千位*/
        printf("这是回文数\n");
    } else {
        printf("这不是回文数\n");
    }
}

标签:10,千位,int,个位,num,printf,万位,回文
来源: https://blog.csdn.net/weixin_43772810/article/details/120943835