原题链接:蓝桥杯基础练习VIP-字符串对比
解题思路:
如果两个字符串的长度不相等,输出 "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 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复