小张同学() 2023-07-03 19:25 采纳率: 76.2%
浏览 19
已结题

关于#c++#的问题,请各位专家解答!反向输出一个三位数C + +编程0在第一位时不能输出0,请教我一下

反向输出一个三位数C + +编程0在第一位时不能输出0,请教我一下

  • 写回答

2条回答 默认 最新

  • a5156520 2023-07-03 19:34
    关注

    可以从输入获取一个三位数,然后提取其个十百位,各位数字分别乘以100,10,1后转为反向后的数,再打印即可,原数的第一位个位如果为0,乘以100,各位相加后,反向的数就不会显示百位的0了。

    代码如下:

    
    #include <iostream>
    using namespace std;
    
    int main(void){
        
        
        int num;
        cout<<"请输入一个三位数:";
        cin>>num;  // 从输入获取一个整数 
     // 判断输入的数是否为三位数,如果不是,则再次读取一个整数,直到读取到一个三位数     
        while(num<100||num>999){ 
            cout<<"请输入一个三位数:";
            cin>>num;  // 从输入获取一个整数 
        } 
        
        
        int one = num%10;  // 提取个位 
        int ten = num/10%10;  // 提取十位 
        int hundred  = num/100%10;  // 提取百位 
        
        // 将个十百位,反向乘以对应的权值,转为反向后的数
        // 这里原数的个位如果为0,乘以100,各位相加后,就不会显示开头的0了 
        int result = one*100 +ten*10 +hundred;
        cout<<"反向后为:"<< result;
        
        return 0; 
        
    } 
    

    img

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论 编辑记录
查看更多回答(1条)

报告相同问题?

问题事件

  • 系统已结题 7月20日
  • 已采纳回答 7月12日
  • 创建了问题 7月3日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀