C++编程,输入5个英文人名,对人名进行排序输出(字典序,升序)。
时间: 2024-03-02 07:48:52 浏览: 59
好的,可以使用以下代码实现:
```c++
#include <iostream>
#include <cstring> //需要使用strcmp函数
using namespace std;
const int num = 5; //人名数量
const int len = 20; //人名最大长度
int main() {
char name[num][len]; //定义二维字符数组
//输入5个人名
for (int i = 0; i < num; i++) {
cout << "请输入第" << i+1 << "个人名:";
cin.getline(name[i], len); //使用getline函数输入字符串
}
//对人名进行排序(冒泡排序)
for (int i = 0; i < num-1; i++) {
for (int j = 0; j < num-i-1; j++) {
if (strcmp(name[j], name[j+1]) > 0) { //比较两个字符串的大小
char temp[len];
strcpy(temp, name[j]); //交换两个字符串
strcpy(name[j], name[j+1]);
strcpy(name[j+1], temp);
}
}
}
//输出排序后的人名
cout << "排序后的人名为:" << endl;
for (int i = 0; i < num; i++) {
cout << name[i] << endl;
}
return 0;
}
```
在这个代码中,我们定义了一个二维字符数组 `char name[num][len]` 来存储输入的5个人名。使用 `cin.getline()` 函数输入字符串,`strcmp()` 函数比较两个字符串的大小,然后使用冒泡排序算法对人名进行排序。最后输出排序后的人名。
阅读全文