题目传送门
分析
读完题后很容易想到把n个数当成字符串处理,然后以两个数字串连接后的大小来决定两个数字串的先后顺序。
也就是如果a+b>b+a,就将a排在前面,反之同理,按照这样处理完后输出即可。
※一定不能从大到小排序之后直接输出!比如321和32,正确答案为32321,但是按直接比较就是32132
Method 1 : char数组
用char数组做需要用到3个字符串函数(仅限char)
strcpy(x,y) —— 将y数组的值赋给x数组
strcat(x,y) —— 拼接x和y
strcmp(x,y) ——比较2个数组,如果ASCII码值不一样,值 小的那个数组小,如果值都一样,长度不一样,短的小。如果x数组小于y,返回1,反之,返回-1,相等,返回0.
Code ↓
# include<bits/stdc++.h>
using namespace std;
char a[21][1000],p[60],q[60];
int main()
{
int n;
scanf