c++ - 不确定如何按字母顺序对名称进行排序
问题描述
编写一个程序,要求用户输入三个名字,然后显示名字
按字母顺序排序。假设没有一个名称是相同的。例如,
如果用户输入 Charlie、Leslie 和 Andy,程序将显示:
安迪
查理
莱斯利
//System Libraries
#include <iostream>
#include <string>//Input/Output Library
using namespace std;
//User Libraries
//Global Constants, no Global Variables are allowed
//Math/Physics/Conversions/Higher Dimensions - i.e. PI, e, etc...
//Function Prototypes
//Execution Begins Here!
int main(int argc, char** argv) {
string name1,
name2,
name3;
cout<<"Sorting Names\n";
cout<<"Input 3 names\n";
cin>>name1;
cin>>name2;
cin>>name3;
cout<<name1<<endl;
cout<<name2<<endl;
cout<<name3;
return 0;
}
预期的:
排序·姓名↵ 输入·3·姓名↵ Andy↵ Charly↵ Leslie
实际的:
排序·姓名↵ 输入·3·姓名↵ Charly↵ Leslie↵ Andy
解决方案
int main()
{
std::set<std::string> sortedItems;
for(int i = 1; i <= 5; ++i)
{
std::string name;
std::cout << i << ". ";
std::cin >> name;
sortedItems.insert(name);
}
std::for_each(sortedItems.begin(), sortedItems.end(), &print);
return 0;
}
我发现这个你可以尝试使用 for 循环对名称进行排序和吐出。归功于AngelCastillo,因为他发布了这个你可以进一步看到@ https://stackoverflow.com/a/18582892/10322492
推荐阅读
- aspectj - AspectJ 注释在 JAVA maven 项目中不起作用(不是 spring 项目)
- sql - 使用hasura检查sql数据库中是否存在用户句柄
- facebook-messenger-bot - Facebook Messenger 快速回复
- r - R:按组聚合每日到每周的数据
- javascript - Apache Cordova 有本地存储限制吗?
- c++ - unique_ptr 返回带有移动语义的垃圾值
- flutter - 自定义后退按钮颤动
- c - 在 C 中将文本文件另存为字符串
- python - python中的平滑曲线散点图
- swift - SWIFT 如何在不使用集合函数创建新字典的情况下对字典进行排序?