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日

悬赏问题

  • ¥30 关于用python写支付宝扫码付异步通知收不到的问题
  • ¥50 vue组件中无法正确接收并处理axios请求
  • ¥15 隐藏系统界面pdf的打印、下载按钮
  • ¥15 MATLAB联合adams仿真卡死如何解决(代码模型无问题)
  • ¥15 基于pso参数优化的LightGBM分类模型
  • ¥15 安装Paddleocr时报错无法解决
  • ¥15 python中transformers可以正常下载,但是没有办法使用pipeline
  • ¥50 分布式追踪trace异常问题
  • ¥15 人在外地出差,速帮一点点
  • ¥15 如何使用canvas在图片上进行如下的标注,以下代码不起作用,如何修改