技术学习C++C++问题 E: C语言10.25
Ramsayi题目描述
在 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; }
|