NightStriker 2022-09-04 20:36 采纳率: 60%
浏览 26

C++ 简单题比较大小,求调

输入三个三位数a,b,c,请你从a中抽出百位数字,b中抽出十位数字,c中抽出个位数字,重新组合成一个最小的三位数。

如何处理某一位是0的情况?

#include<bits/stdc++.h>
using namespace std;
int main(){
    int a,b,c,ge,shi,bai,ans[10];
    cin>>a>>b>>c;
    ge = c % 10;
    shi = (b / 10) % 10;
    bai = (a / 100) % 10;
    ans[1] = bai*100+shi*10+ge;
    ans[2] = bai*100+shi+ge*10;
    ans[3] = bai*10+shi*100+ge;
    ans[4] = bai*10+shi+ge*100;
    ans[5] = bai+shi*100+ge*10;
    ans[6] = bai+shi*10+ge*100;
    sort(ans,ans+6);
    cout<<ans[1];
    return 0;
PS:本代码无法处理带0的数字,求助。
}
  • 写回答

3条回答 默认 最新

  • 梦里逆天 2022-09-04 20:56
    关注

    按照你的代码,那就最后遍历一下数组,输出第一个大于等于100的数

    
    #include<bits/stdc++.h>
    using namespace std;
    int main()
    {
        int a,b,c,ge,shi,bai,ans[10];
        cin>>a>>b>>c;
        ge = c % 10;
        shi = (b / 10) % 10;
        bai = (a / 100) % 10;
        ans[1] = bai*100+shi*10+ge;
        ans[2] = bai*100+shi+ge*10;
        ans[3] = bai*10+shi*100+ge;
        ans[4] = bai*10+shi+ge*100;
        ans[5] = bai+shi*100+ge*10;
        ans[6] = bai+shi*10+ge*100;
        sort(ans,ans+6);
        for(int i=1; i<=6; i++)
        {
            if(ans[i] >= 100)
            {
                cout<<ans[i]<<endl;
                break;
            }
        }
        return 0;
    }
    
    评论

报告相同问题?

问题事件

  • 创建了问题 9月4日

悬赏问题

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