用c语言写“读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1”
时间: 2023-05-13 18:04:55 浏览: 108
C语言实现输入一个字符串后打印出该字符串中字符的所有排列
以下是用 C 语言实现该功能的代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
printf("请输入一个字符串:");
scanf("%[^\n]", str); // 读取含有空格的字符串
int len = strlen(str);
char rev_str[100];
for (int i = 0; i < len; i++) {
rev_str[i] = str[len - i - 1]; // 逆转字符串
}
rev_str[len] = '\0'; // 添加字符串结束符
int cmp = strcmp(str, rev_str);
if (cmp == 0) {
printf("0\n");
} else if (cmp < 0) {
printf("-1\n");
} else {
printf("1\n");
}
return 0;
}
```
如果输入 hello,输出结果为 -1。
请注意,这个程序只能处理字符串长度不超过 100 的情况,如果需要处理更长的字符串,需要修改代码。
阅读全文