C++输入三个字符串,按照由大到小的顺序输出,要求用指针方法处理。
时间: 2023-12-10 22:40:49 浏览: 25
可以使用字符串指针数组来存储这三个字符串,并使用指针进行比较和排序。以下是示例代码:
```c++
#include <iostream>
#include <cstring>
using namespace std;
void sortStrings(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 = 3;
char* strings[n]; // 字符串指针数组
char temp[100];
// 输入字符串
for (int i = 0; i < n; i++) {
cout << "请输入第" << i+1 << "个字符串:";
cin >> temp;
strings[i] = new char[strlen(temp)+1];
strcpy(strings[i], temp);
}
// 排序并输出
sortStrings(strings, n);
cout << "按照由大到小的顺序输出:" << endl;
for (int i = 0; i < n; i++) {
cout << strings[i] << endl;
}
// 释放字符串内存
for (int i = 0; i < n; i++) {
delete[] strings[i];
}
return 0;
}
```
注意,由于我们使用了动态内存分配,因此在程序结束时需要释放字符串的内存。