问题 E: C语言10.25

题目描述

在 main 函数中输入 10 个不等长的字符串,另外写一个函数对它们按字典序从小到大排序。并在 main 函数中输出这 10 个已经排好序的字符串。

输入

共有 10 行,每行一个字符串。输入保证每行的字符串长度不超过 100 个字符。请注意字符串中有可能包含空格。

输出

与输入格式相同,每行输出一个排好序之后的字符串。
请注意行尾输出换行。

样例输入

1
2
3
4
5
6
7
8
9
10
String DDD
String Ee
string AA
String CCCCC
string GG
string jJj
String IiiIII
String h
string fFf
String BBbb

样例输出

1
2
3
4
5
6
7
8
9
10
String BBbb
String CCCCC
String DDD
String Ee
String IiiIII
String h
string AA
string GG
string fFf
string jJj

提示

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include<iostream>
using namespace std;
void swap(string *s1,string *s2) {
string x;
x=*s1;
*s1=*s2;
*s2=x;
}
int main() {
string s[10];
for(int i=0;i<10;i++)
getline(cin,s[i]);
string *a,*b;
for(int i=0;i<9;i++)
for(int j=0;j<9-i;j++)
if(s[j]>s[j+1]) {
a=&s[j];
b=&s[j+1];
swap(a,b);
}
for(int i=0;i<10;i++)
cout<<s[i]<<endl;
}