分析问题
输入一个三位数n,重新打乱其顺序,变成最小的三位数
建立模型
输入一个三位数n //number的缩写
拆解成百 十 个 位;用b,s,g代表
b=n/100; //除一个10就砍掉一个末位
s=n/10%10; //对一个10取模,就从右侧保留一个位灵敏
g=n%10; //从右侧保留一位
//对abc三个数从小到大排序
如果b>s 交换bs
如果b>g 交换sg
如果s>g 交换sg
如果a等于0 交换ab //三位数的首位不能为零
将bsg按百十个的位数输出
编写代码
#include <bits/stdc++.h>
using namespace std;
int main(){
int n;
cin>>n;
int b,s,g;
//拆解位数
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);
//解决首位为零的问题
if(b==0) swap(b,s);
cout<<b*100+s*10+g;
return 0;
}