Time Limit: 3 second
Memory Limit: 2 MB
输入一个三位数的整数,将数字位置重新排列,组成一个尽可大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。
Input
输入文件只有一行,内容为一个三位数的整数。如198Output
输出文件只有一行,输出内容为重排后尽可能大的三位数981Sample Input
198
Sample Output
981
【题解】
以字符串形式输入,冒泡排序,从大到小排,直接输出就好
【代码】
#include <iostream>
#include <string>
using namespace std;
string str;
void input_data() //以字符串形式输入
{
cin >> str;
}
void sort()
{
bool flag = false; //冒泡排序
while (!flag)
{
flag = true;
for(int i = 0;i <= 1; i++)
if (str[i] < str[i+1])
{
flag = false;
char t = str[i];str[i] = str[i+1];str[i+1] = t;
}
}
}
void output_ans()
{
cout << str;
}
int main()
{
input_data();
sort();
output_ans();
return 0;
}