题目
打乱顺序的三位数 |
难度级别:A; 运行时间限制:1000ms; 运行空间限制:51200KB; 代码长度限制:2000000B |
试题描述
|
输入一个三位正整数 n,将它的三个数字次序打乱重新组合,使其值最大,输出该最大值。输入输出要符合数学规范,例如 012 应该写成 12 。
|
输入
|
一个三位数 n。
|
输出
|
一个数,符合题目要求的结果。
|
输入示例
|
128
|
输出示例
|
821
|
分析
位值原理拆分,再排序。
代码
#include<bits/stdc++.h> using namespace std; int n,x,y,z; int main() { scanf("%d",&n); x=n/100;//位值原理拆分。 y=n/10%10; z=n%10; if(x<y) swap(x,y);//从大到小排序。 if(x<z) swap(x,z); if(y<z) swap(y,z); printf("%d",x*100+y*10+z); return 0; }