c++输入3个字符串,按由小到大顺序输出(使用函数和指针实现)
时间: 2023-10-31 21:09:14 浏览: 114
下面是一个使用函数和指针实现输入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` 函数对字符串进行排序,该函数使用冒泡排序算法实现。最后输出排序后的字符串并释放分配的内存空间。
阅读全文