以下是一段C++代码,用于读取用户输入的6个城市名的拼音(全部为小写字母),然后对这些拼音按字母顺序进行排序并输出:
#include <iostream>
#include <string>
#include <algorithm> // 引入算法库中的sort函数
// 自定义比较函数,确保字符串按字典序排序
bool compare(const std::string &a, const std::string &b) {
return a < b;
}
int main() {
const int num_cities = 6; // 城市数量
std::string city_names[num_cities]; // 字符串数组存储城市名拼音
std::cout << "Enter 6 city names in pinyin (lowercase): " << std::endl;
for(int i = 0; i < num_cities; ++i) {
std::cin >> city_names[i]; // 输入城市名拼音
}
// 使用std::sort和自定义比较函数对城市名拼音数组进行排序
std::sort(city_names, city_names + num_cities, compare);
// 输出排序后的城市名拼音
std::cout << "The sorted city names are: " << std::endl;
for(int i = 0; i < num_cities; ++i) {
std::cout << (i + 1) << ": " << city_names[i] << std::endl;
}
return 0;
}
在这段代码中,我们首先包含了必要的头文件,并定义了一个字符串数组city_names
来存储用户输入的城市名拼音。接着,我们使用std::cin
来读取用户的输入。然后,我们定义了一个自定义的比较函数compare
并将其作为第三个参数传递给std::sort
函数,以确保拼音按照字典序进行排序。
最后,我们遍历数组并打印出排序后的城市名拼音。请注意,由于题目要求全使用小写字母,因此这里没有对输入的字符串进行额外的大小写转换处理。如果需要确保输入的小写,可以在读取输入后使用std::transform
函数将所有字符转换为小写。