Time Limit: 1 Sec Memory Limit: 128 MB
输入三个人名,按字母顺序对其进行排序,然后输出。要求使用C++的string类型。
三个人名,可以包含空格
排序后的人名,每个人名占一行
Mike
Mary
Jim Green
Jim Green
Mary
Mike
1 #include
2 #include
3 using namespace std;
4 int main()
5 {
6 string string1,string2,string3,temp;//定义
7
8 //从每行输入一个可以包含空格的字符串
9 getline(cin,string1);
10 getline(cin,string2);
11 getline(cin,string3);
12 // 先保证str2小于等于str3
13 if(string2>string3)
14 {
15 temp=string2;
16 string2=string3;
17 string3=temp;
18 }
19 // 如果str1恰好小于str2 按顺序输出即可
20 if(string1<=string2)
21 {
22 cout<
25 // 如果str1小于等于str3,则 str1在2和3中间
26 else if(string1<=string3)
27 {
28 cout<
31 else
32 cout<<string2<<endl<<string3<<endl<<string1<<endl;
33
34 return 0;
35 }
要能明白按字母顺序排,其实就是比较ASCII码,就是去比较字符串大小
(好久不做就不会做了,刚开始想偏了,想用at()函数从第一个开始比较,但这种思路就显得很复杂,多层循环嵌套,效率也不好)
(来自杏花疏影的叨叨叨:字符串这函数好多,还是需要时间梳理,慢慢来叭,今天就不做新题了,看了看作业题,感觉都已经不太会写了)
手机扫一扫
移动阅读更方便
你可能感兴趣的文章