c语言大厂面试经典题目:两个长度不超过80的字符串,串中包括大写、小写和空 格字符,去掉空格字符并忽略大小写后判断两个字符串是否相等。
作者:野牛程序员:2023-12-04 12:12:46c语言阅读 3832
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语言解决归并排序问题