用C++将若干字符串按字母顺序(由小到大)输出。(采用指针方式)
时间: 2023-10-31 17:08:01 浏览: 79
可以使用C++的STL库中的sort函数来实现字符串按字母顺序排序,然后再逐个输出即可。以下是示例代码:
```c++
#include <iostream>
#include <algorithm>
#include <cstring>
using namespace std;
const int MAXN = 100; //最大字符串数量
const int MAXL = 100; //每个字符串最大长度
int main()
{
char str[MAXN][MAXL]; //存储字符串的二维字符数组
int n; //字符串数量
//读入字符串
cout << "请输入字符串数量:";
cin >> n;
cout << "请输入字符串:";
for(int i = 0; i < n; i++)
cin >> str[i];
//按字母顺序排序
sort(str, str + n, [](const char *a, const char *b) { return strcmp(a, b) < 0; });
//输出排序后的字符串
cout << "排序后的字符串为:" << endl;
for(int i = 0; i < n; i++)
cout << str[i] << endl;
return 0;
}
```
上述代码中使用了lambda表达式来定义sort函数的比较函数,也可以使用自定义的比较函数。
相关问题
用c++输入三个字符串,要求按字母由小到大输出字符串
好的,可以使用以下的 C++ 代码实现:
```c++
#include <iostream>
#include <string>
#include <algorithm> // 使用 std::sort 需要包含该头文件
using namespace std;
int main() {
string s1, s2, s3;
// 输入三个字符串
cout << "请输入三个字符串:" << endl;
cin >> s1 >> s2 >> s3;
// 将三个字符串放入一个数组中
string strings[3] = {s1, s2, s3};
// 使用 sort() 方法对数组进行排序
sort(strings, strings + 3);
// 输出排序后的数组
cout << "按字母由小到大排序后的字符串为:" << endl;
for (int i = 0; i < 3; i++) {
cout << strings[i] << endl;
}
return 0;
}
```
你可以将上述代码复制到 C++ 环境中运行,然后输入三个字符串,程序会按照字母由小到大的顺序输出这三个字符串。
c++输入3个字符串,按由小到大顺序输出(使用函数和指针实现)
下面是一个使用函数和指针实现输入3个字符串并按由小到大顺序输出的C++程序:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void sortStrings(char** strings);
int main()
{
const int numStrings = 3;
char* strings[numStrings];
// 输入3个字符串
for (int i = 0; i < numStrings; i++)
{
char buffer[100];
cout << "请输入第" << i + 1 << "个字符串:";
cin >> buffer;
strings[i] = new char[strlen(buffer) + 1];
strcpy(strings[i], buffer);
}
// 排序字符串
sortStrings(strings);
// 输出排序后的字符串
cout << "排序后的字符串为:" << endl;
for (int i = 0; i < numStrings; i++)
{
cout << strings[i] << endl;
}
// 释放字符串内存
for (int i = 0; i < numStrings; i++)
{
delete[] strings[i];
}
return 0;
}
void sortStrings(char** strings)
{
// 冒泡排序
for (int i = 0; i < 2; i++)
{
for (int j = 0; j < 2 - i; j++)
{
if (strcmp(strings[j], strings[j + 1]) > 0)
{
// 交换两个字符串的指针
char* temp = strings[j];
strings[j] = strings[j + 1];
strings[j + 1] = temp;
}
}
}
}
```
该程序首先定义了一个指针数组 `strings`,用于存储输入的3个字符串。然后使用 `for` 循环依次输入3个字符串,并为每个字符串动态分配内存空间。接着调用 `sortStrings` 函数对字符串进行排序,该函数使用冒泡排序算法实现。最后输出排序后的字符串并释放分配的内存空间。