2048:【例5.18】串排序
时间限制: 1000 ms 内存限制: 65536 KB
提交数: 7187 通过数: 3384
【题目描述】
对给定的n(1≤n≤20)n(1≤n≤20)个国家名(国家名字长度不超过2020),按其字母的顺序输出。
【输入】
第一行为国家的个数nn;
以下nn行为国家的名字。
【输出】
nn行,排序后的国名。
【输入样例】
3
Korea
China
Japan
【输出样例】
China
Japan
Korea
代码:
#include<bits/stdc++.h>
using namespace std;
string a[21],t;
int main(){
int n,i,j;
char a[25][21];
char t[21];
cin>>n;
getchar();
for(i=1;i<=n;i++){
gets(a[i]);}
for(j=n;j>=2;j--)
for(i=1;i<j;i++)
if(strcmp(a[i],a[i+1])>0){
strcpy(t,a[i]);
strcpy(a[i],a[i+1]);
strcpy(a[i+1],t);}
for(i=1;i<=n;i++)
cout<<a[i]<<endl;}