Compare_Connect_Letter

题目描述:

比较两个数字mn和nm(如果mn<nm则m<n, 如果nm<mn则n<m,否则n=m)
连接这两个数字 如(mnnm)

//比较两个数字mn和nm(如果mn<nm则m<n, 如果nm<mn则n<m,否则n=m)
//连接这两个数字 如(mnnm)
#include <iostream>
#include <string>
#define CIR(i, a) for(int i = 0; i < a; ++i)

bool Exchange(std::string a, std::string b){
	if((a + b) < (b + a)) 
		return true;
	else
		return false;
}

void swap(std::string& a, std::string& b){
	std::string s;
	s = a;
	a = b;
	b = s;
}

int main(){
	int n;
	std::string str[100];
	freopen("F:\input.txt", "r", stdin);
	std::cin>>n;
	CIR(i, n) std::cin>>str[i];

	CIR(i, n) {
		CIR(j, n - 1 - i){
			if(!Exchange(str[j], str[j+1]))
				swap(str[j], str[j+1]);
		}

	}

	CIR(i, n) std::cout<<str[i];
	return 0;
}


原文地址:https://www.cnblogs.com/txg198955/p/3999065.html