请写一段简单的c++系统程序,要求进行字符串排序 在主函数中输入10个不等长的字符串放入二维字符数组中,编写函数sort()利用指针数组对其排序,在主函数中输出排好序的字符串。
时间: 2024-05-06 08:18:28 浏览: 135
以下是一个简单的C++程序,可以实现对10个不等长的字符串进行排序:
```
#include <iostream>
#include <cstring>
using namespace std;
const int MAX_LENGTH = 100; // 定义最大字符串长度
void sort(char* arr[], int n) {
for (int i = 0; i < n - 1; i++) {
for (int j = i + 1; j < n; j++) {
if (strcmp(arr[i], arr[j]) > 0) {
swap(arr[i], arr[j]);
}
}
}
}
int main() {
char str[10][MAX_LENGTH]; // 定义二维字符数组
char* arr[10]; // 定义指针数组
int n = 10; // 字符串数量
// 输入字符串
for (int i = 0; i < n; i++) {
cout << "请输入第" << i + 1 << "个字符串:";
cin >> str[i];
arr[i] = str[i]; // 指向每个字符串的指针存入指针数组
}
sort(arr, n); // 对字符串排序
// 输出排序后的字符串
cout << "排序后的字符串:" << endl;
for (int i = 0; i < n; i++) {
cout << arr[i] << endl;
}
return 0;
}
```
程序中使用了一个sort()函数,该函数接收一个指针数组和数组长度n作为参数,通过比较指针所指向的字符串来实现排序。在主函数中,先定义了一个二维字符数组和一个指针数组,然后分别输入字符串和将每个字符串的地址存入指针数组,最后调用sort()函数对字符串进行排序,排序后再输出排好序的字符串。
阅读全文