用C++写,按名字长度对英文名字进行排序 输入5个英文人名,对人名进行排序输出(名字长度,如果长度相同,按照字典序,升序)。 【输入形式】 5个英文人名 【输出形式】 排序后的人名
时间: 2024-03-12 12:48:14 浏览: 58
C++版按姓名排序的函数算法
5星 · 资源好评率100%
好的,以下是用C++实现按照名字长度对英文名字进行排序的示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <string>
using namespace std;
int main()
{
string names[5];
// 输入5个英文人名
for (int i = 0; i < 5; i++)
{
cin >> names[i];
}
// 按照名字长度排序
sort(names, names + 5, [](const string& a, const string& b)
{
if (a.length() != b.length())
{
return a.length() < b.length();
}
else
{
return a < b;
}
});
// 输出排序后的人名
for (int i = 0; i < 5; i++)
{
cout << names[i] << endl;
}
return 0;
}
```
程序首先定义了一个字符串数组,用于存储输入的5个英文人名。然后,使用`sort()`函数对数组进行排序。在排序的比较函数中,首先比较名字长度,如果长度不同,就按照长度升序排序;如果长度相同,就按照字典序升序排序。
最后,程序输出排序后的人名。
希望这个示例代码能够帮助您实现您的需求。
阅读全文