【C++ 字符串题目】 输入三个人名,按字母顺序排序输出
2022/5/26 1:50:03
本文主要是介绍【C++ 字符串题目】 输入三个人名,按字母顺序排序输出,对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
题目来源:https://acm.ujn.edu.cn
Problem A: 【C++ 字符串】 输入三个人名,按字母顺序排序输出
Time Limit: 1 Sec Memory Limit: 128 MBDescription
输入三个人名,按字母顺序对其进行排序,然后输出。要求使用C++的string类型。
Input
三个人名,可以包含空格
Output
排序后的人名,每个人名占一行
Sample Input
Mike Mary Jim Green
Sample Output
Jim Green Mary Mike
1 #include<iostream> 2 #include<string> 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<<string1<<endl<<string2<<endl<<string3<<endl; 23 } 24 // 其他情况下(str1>str2), 25 // 如果str1小于等于str3,则 str1在2和3中间 26 else if(string1<=string3) 27 { 28 cout<<string2<<endl<<string1<<endl<<string3<<endl; 29 } 30 //其他情况,就剩1>2但1>3,又因为2<3 ,所以按231顺序输出 31 else 32 cout<<string2<<endl<<string3<<endl<<string1<<endl; 33 34 return 0; 35 }
这道题是之前的作业题,重点在于理解题意
要能明白按字母顺序排,其实就是比较ASCII码,就是去比较字符串大小
(好久不做就不会做了,刚开始想偏了,想用at()函数从第一个开始比较,但这种思路就显得很复杂,多层循环嵌套,效率也不好)
(来自杏花疏影的叨叨叨:字符串这函数好多,还是需要时间梳理,慢慢来叭,今天就不做新题了,看了看作业题,感觉都已经不太会写了)
这篇关于【C++ 字符串题目】 输入三个人名,按字母顺序排序输出的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-15PingCAP 黄东旭参与 CCF 秀湖会议,共探开源教育未来
- 2024-05-13PingCAP 戴涛:构建面向未来的金融核心系统
- 2024-05-09flutter3.x_macos桌面os实战
- 2024-05-09Rust中的并发性:Sync 和 Send Traits
- 2024-05-08使用Ollama和OpenWebUI在CPU上玩转Meta Llama3-8B
- 2024-05-08完工标准(DoD)与验收条件(AC)究竟有什么不同?
- 2024-05-084万 star 的 NocoDB 在 sealos 上一键起,轻松把数据库编程智能表格
- 2024-05-08Mac 版Stable Diffusion WebUI的安装
- 2024-05-08解锁CodeGeeX智能问答中3项独有的隐藏技能
- 2024-05-08RAG算法优化+新增代码仓库支持,CodeGeeX的@repo功能效果提升