使用c++语言在主函数中输入5个字符串,调用另一个函数func对他们按从小到大的顺序排序,然后输出这已经排好序的字符串。 要求使用指针数组进行处理。
时间: 2024-03-15 19:45:49 浏览: 142
怎样用C++实现字符串的排序?
4星 · 用户满意度95%
好的,我可以帮你解决这个问题。下面是代码:
```cpp
#include <iostream>
#include <cstring>
using namespace std;
void func(char *str[], int n)
{
char *temp;
for (int i = 0; i < n - 1; i++)
{
for (int j = i + 1; j < n; j++)
{
if (strcmp(str[i], str[j]) > 0)
{
temp = str[i];
str[i] = str[j];
str[j] = temp;
}
}
}
}
int main()
{
const int n = 5;
char *str[n];
// 输入5个字符串
for (int i = 0; i < n; i++)
{
str[i] = new char[100];
cin >> str[i];
}
func(str, n);
// 输出已排好序的字符串
for (int i = 0; i < n; i++)
{
cout << str[i] << endl;
}
// 释放内存
for (int i = 0; i < n; i++)
{
delete[] str[i];
}
return 0;
}
```
这个程序中,我们使用了指针数组来存储输入的5个字符串。然后,我们调用了 `func` 函数来对它们进行排序。在 `func` 函数中,我们使用了冒泡排序的方法,通过比较两个字符串的大小关系来实现排序。最后,我们在主函数中输出已经排好序的字符串,并释放了内存。
希望这个代码对你有帮助!
阅读全文