c语言大厂面试经典题目:两个长度不超过80的字符串,串中包括大写、小写和空 格字符,去掉空格字符并忽略大小写后判断两个字符串是否相等。
作者:野牛程序员:2023-12-04 12:12:46c语言阅读 4687
c语言大厂面试经典题目:
两个长度不超过80的字符串,串中包括大写、小写和空 格字符,去掉空格字符并忽略大小写后判断两个字符串是否相等。 输入描述:第一行输入的是测试数据的组数n,每组测试数据占两行,第一行是第一个 字符申S1,第二行是第二个字符申S2。 输出描述:如果两个字符串相等,则输出YES,否则输出旳。 样例输入: 2 QW erTyu 0P qwert YUOp ASDDDfghj asDDFgHJ 样例输出: YES NO
#include <stdio.h>
#include <string.h>
#include <ctype.h>
// 比较两个字符串是否相等(忽略大小写和空格)
int compareStrings(char *str1, char *str2) {
// 移除空格并将字符转换为小写
for (int i = 0; str1[i]; i++) {
if (str1[i] == ' ') {
strcpy(&str1[i], &str1[i + 1]);
i--;
} else {
str1[i] = tolower(str1[i]);
}
}
for (int i = 0; str2[i]; i++) {
if (str2[i] == ' ') {
strcpy(&str2[i], &str2[i + 1]);
i--;
} else {
str2[i] = tolower(str2[i]);
}
}
// 比较修改后的字符串
if (strcmp(str1, str2) == 0) {
return 1; // 字符串相等
} else {
return 0; // 字符串不相等
}
}
int main() {
int n;
scanf("%d", &n);
while (n--) {
char str1[80], str2[80];
scanf("%s", str1);
scanf("%s", str2);
if (compareStrings(str1, str2)) {
printf("YES\\n");
} else {
printf("NO\\n");
}
}
return 0;
}野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:舵机与普通电机的区别
- 下一篇:c语言大厂面试经典题目:c语言解决归并排序问题
