#include <stdio.h>
#include <string.h>
/*读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,
大于逆转后字符串输出1。例如输入 hello,逆转后的字符串为 olleh,因为hello 小于 olleh,所以输出-1*/
int main() {
char str[100];
gets(str); // 读取输入的字符串,scanf
int len = strlen(str);
/*strlen函数求的是字符串的实际长度,从开始到遇到第一个'\0',
如果你只定义没有给它赋初值,这个结果是不定的,它会从首地址一直找下去,
直到遇到'\0'停止。*/
char reverse[len+1]; // 创建一个新的字符数组来存储逆转后的字符串
for (int i = 0; i < len; i++) {
reverse[i] = str[len-1-i]; // 逆转字符串
}
reverse[len] = '\0'; // 在逆转后的字符串末尾添加空字符
int result = strcmp(str, reverse); // 比较原始字符串和逆转后的字符串
if (result == 0) {
printf("0"); // 如果相同,输出0
} else if (result < 0) {
printf("-1"); // 如果原字符串小于逆转后字符串,输出-1
} else {
printf("1"); // 如果原字符串大于逆转后字符串,输出1
}
return 0;
}
读取一个字符串,字符串可能含有空格,将字符串逆转,原来的字符串与逆转后字符串相同,输出0,原字符串小于逆转后字符串输出-1,大于逆转后字符串输出1。
最新推荐文章于 2024-02-28 23:05:12 发布