读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1
时间: 2023-05-13 15:04:53 浏览: 177
汇编实验4 实验四 字符及字符串的输入和输出
5星 · 资源好评率100%
以下是一个可能的解决方案:
```
#include <iostream>
#include <string>
#include <algorithm>
using namespace std;
int main() {
string s;
getline(cin, s); // 读取含有空格的字符串
string r = s; // 复制一份原字符串
reverse(r.begin(), r.end()); // 将复制的字符串逆转
if (s == r) {
cout << 0 << endl; // 原字符串与逆转后字符串相同
} else if (s < r) {
cout << -1 << endl; // 原字符串小于逆转后字符串
} else {
cout << 1 << endl; // 原字符串大于逆转后字符串
}
return 0;
}
```
这个程序首先读取一个含有空格的字符串,然后复制一份原字符串并将其逆转。接着,它比较原字符串和逆转后字符串的大小,并输出相应的结果。如果原字符串和逆转后字符串相同,则输出0;如果原字符串小于逆转后字符串,则输出-1;如果原字符串大于逆转后字符串,则输出1。
注意,这个程序假设输入的字符串不包含换行符。如果输入的字符串可能包含换行符,可以使用 `cin` 代替 `getline`,但需要注意 `cin` 会忽略空格。
阅读全文