解题思路:

如果两个字符串的长度不相等,输出 "1"。

如果两个字符串的长度相等,并且在区分大小写的情况下完全相等,输出 "2"。

如果两个字符串的长度相等,但在不区分大小写的情况下相等,输出 "3"。

如果两个字符串的长度相等,但在不区分大小写的情况下也不相等,输出 "4"。

tolower 函数用于将字符转换为小写形式。它的使用方式非常简单,只需将要转换的字符作为参数传递给 tolower 函数,它会返回相应的小写字符。

以下是 tolower 函数的基本用法示例:

#include <stdio.h>
#include <ctype.h>

int main() {
    char ch = 'A'; // 假设要将字符 'A' 转换为小写形式
    char lowercaseCh = tolower(ch);
    
    printf("原字符: %c\n", ch);
    printf("小写字符: %c\n", lowercaseCh);
    
    return 0;
}

在上面的示例中,我们使用 tolower 函数将字符 'A' 转换为小写形式,然后将结果打印出来。tolower 函数只接受一个字符作为参数,并返回转换后的小写字符。

请注意,tolower 函数在 ctype.h 头文件中声明,所以在使用之前需要包含该头文件。此外,tolower 函数只对字母字符(A-Z 和 a-z)有效,对于其他字符,它会返回原字符。


参考代码:

#include <stdio.h>
#include <string.h>
#include <math.h>
#include <ctype.h>

int main() {
    char ch1[11];
    char ch2[11];

    // 从标准输入中获取两个字符串
    fgets(ch1, sizeof(ch1), stdin);
    fgets(ch2, sizeof(ch2), stdin);

    // 获取两个字符串的长度
    int len1 = strlen(ch1);
    int len2 = strlen(ch2);

    // 如果两个字符串长度不相等
    if (len1 != len2) {
        printf("1"); // 输出 "1"
    }
    // 如果两个字符串长度相等
    else if (len1 == len2) {
        int flag = 1;

        // 遍历两个字符串的字符,逐个比较
        for (int i = 0; i < len1 - 1; i++) {
            if (ch1[i] != ch2[i]) {
                flag = 0;
                break; // 如果发现不相等的字符,立即退出循环
            }
        }

        // 如果两个字符串在相应位置上完全相等
        if (flag == 1) {
            printf("2"); // 输出 "2"
        }
        // 如果两个字符串在相应位置上不完全相等,但不区分大小写相等
        else {
            int p = 1;

            // 遍历两个字符串的字符,逐个比较(不区分大小写)
            for (int i = 0; i < len1; i++) {
                if (tolower(ch1[i]) != tolower(ch2[i])) {
                    p = 0;
                    break; // 如果发现不相等的字符,立即退出循环
                }
            }

            // 如果两个字符串在不区分大小写的情况下相等
            if (p == 1) {
                printf("3"); // 输出 "3"
            }
            // 如果两个字符串在不区分大小写的情况下也不相等
            else {
                printf("4"); // 输出 "4"
            }
        }
    }

    return 0;
}


点赞(0)
 

0.0分

0 人评分

C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:

一点编程也不会写的:零基础C语言学练课程

解决困扰你多年的C语言疑难杂症特性的C语言进阶课程

从零到写出一个爬虫的Python编程课程

只会语法写不出代码?手把手带你写100个编程真题的编程百练课程

信息学奥赛或C++选手的 必学C++课程

蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程

手把手讲解近五年真题的蓝桥杯辅导课程

评论列表 共有 0 条评论

暂无评论