输入三个整数,按由小到大的顺序输出,然后将程序改为:输入三个字符串,按由小到大的顺序输出(可以使用库函数strcmp函数,要求不使用string,使用指针指向字符串)。以C++形式
时间: 2024-12-23 13:26:46 浏览: 14
在C++中,你可以通过使用字符数组和`strcmp`函数来实现这个功能,不依赖于`string`类。首先,我们需要接收用户输入并保存在字符数组中,然后利用`strcmp`进行比较。下面是一个简单的示例:
```cpp
#include <iostream>
// 比较两个字符串的函数
int compareStrings(const char* str1, const char* str2) {
return strcmp(str1, str2);
}
int main() {
// 输入三个字符串
char input1[20], input2[20], input3[20];
std::cout << "请输入第一个字符串: ";
std::cin.getline(input1, 20);
std::cout << "请输入第二个字符串: ";
std::cin.getline(input2, 20);
std::cout << "请输入第三个字符串: ";
std::cin.getline(input3, 20);
// 按照字符串字典序排序
if (compareStrings(input1, input2) < 0) {
std::swap(input1, input2);
}
if (compareStrings(input2, input3) < 0) {
std::swap(input2, input3);
}
if (compareStrings(input1, input2) < 0) {
std::swap(input1, input2);
}
// 输出排序后的字符串
std::cout << "最小的字符串是: " << input1 << "\n";
std::cout << "其次的字符串是: " << input2 << "\n";
std::cout << "最大的字符串是: " << input3 << "\n";
return 0;
}
```
注意:此代码假设用户输入的字符串长度不超过19个字符(包括空格),因为`getline`函数接收的是字符串加上终止符`\0`的总长度。
阅读全文