【2017】数字重排

Time Limit: 3 second
Memory Limit: 2 MB

输入一个三位数的整数,将数字位置重新排列,组成一个尽可大的三位数。例如:输入213,重新排列可得到尽可能大的三位数是321。

Input

输入文件只有一行,内容为一个三位数的整数。如198

Output

输出文件只有一行,输出内容为重排后尽可能大的三位数981

Sample 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;	
}


 

posted @ 2017-10-06 19:23  AWCXV  阅读(306)  评论(0编辑  收藏  举报