求任意三位数打乱次序后的最大值

分析题意

输入一个三位数,重新调整百位、十位和个位,使输出的数字百位大于十位,十位大于个位

建立模型

输入一个三位数n

定义三个变量b,s,g

百位取第1位数 //b = n/100;

十位取第2位数 //s = n/10%10;

个位取最位一位位 //g = n%10;

(小提示 / 除以多少个10 是从右侧砍掉多少位; % 取模多少个10,就是保留右侧多少位)

如果b小于s: 交换b s

如果b小于g: 交换b g

如果s小于g: 交换s g

输出 百倍数乘以100加上十位数乘以10加上个位后

编写代码

#include <bits/stdc++.h>
using namespace std;
int main(){
    int n,b,s,g;
    cin>>n;
    b= n/100;
    s=n/10%10;
    g = n%10;
    if(b<s) swap(b,s);
    if(b<g) swap(b,g);
    if(s<g) swap(s,g);
    cout<<b*100+s*10+g;
    return 0;
}

保存 编译 运行