编程实现两个字符串不区分大小写时的大小关系,第一个字符串大于第二个输出1,相等输出0,小于输出-1.
时间: 2024-03-25 13:40:05 浏览: 49
可以使用C语言的字符串相关函数和字符操作函数来实现不区分大小写的字符串比较。以下是一个简单的实现:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h>
int strcasecmp(const char *s1, const char *s2);
int main() {
char str1[100], str2[100];
int result;
printf("请输入第一个字符串:");
fgets(str1, 100, stdin);
printf("请输入第二个字符串:");
fgets(str2, 100, stdin);
// 去除字符串末尾的换行符
str1[strcspn(str1, "\n")] = 0;
str2[strcspn(str2, "\n")] = 0;
// 将两个字符串转换为小写形式
for(int i = 0; str1[i]; i++){
str1[i] = tolower(str1[i]);
}
for(int i = 0; str2[i]; i++){
str2[i] = tolower(str2[i]);
}
// 比较两个字符串
result = strcmp(str1, str2);
if(result > 0) {
printf("1\n");
}
else if(result < 0) {
printf("-1\n");
}
else {
printf("0\n");
}
return 0;
}
```
在上面的代码中,我们使用了`strcasecmp()`函数来实现不区分大小写的字符串比较。如果`s1`大于`s2`,则函数返回一个正数;如果`s1`小于`s2`,则函数返回一个负数;如果`s1`等于`s2`,则函数返回0。然后我们根据比较结果输出对应的值即可。
阅读全文