题目:
分析:
非负整数
先判断整个数是不是降序。
找有没有比第一个数大的,第二个?,第三个?,依次类推
当然可以先排序。
代码:
int main()
{
int num=98368;
if(num<=10) return num;
string ss=to_string(num);
int ok=1;
for(int i=1;i<ss.length();i++)
{
if(ss[i]>ss[i-1]) {
ok=0;
break;
}
}
if(ok) return num;
for(int i=0;i<ss.length()-1;i++)
{
int maxx=ss[i];
int loca;
for(int j=i+1;j<ss.length();j++)
{
if(ss[j]>=maxx) {
maxx=ss[j];
loca=j;
}
}
if(maxx!=ss[i])
{
ss[loca]=ss[i];
ss[i]=maxx;
break;
}
}
return atoi(ss.c_str());
}