c语言:输入俩个不包含空格的字符串,判断俩个由大小写字母组成的字符串在忽略大小写后是否相等,输出相等或不等
时间: 2024-01-02 16:09:35 浏览: 147
可以使用C语言中的字符串函数,如`strcmpi()`函数来实现忽略大小写的字符串比较。具体实现如下:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串:");
scanf("%s", str1);
printf("请输入第二个字符串:");
scanf("%s", str2);
if (strcmpi(str1, str2) == 0) {
printf("相等\n");
} else {
printf("不相等\n");
}
return 0;
}
```
其中`strcmpi()`函数会忽略字符串中字母的大小写,若相等则返回0,否则返回非0值。
相关问题
用c语言实现:输入两个不包含空格的字符串,判断两个由大小写字母组成的字符串在忽略大小写后是否相等。 注意:由于gcc编译器不能使用gets函数,可以使用scanf()函数。
可以使用strcmp()函数进行忽略大小写比较,但是该函数在不同系统中的实现可能存在差异,因此可以自行编写一个忽略大小写的字符串比较函数。
以下是一个示例代码:
```c
#include <stdio.h>
#include <ctype.h>
int strcasecmp(const char *s1, const char *s2) {
int i;
for (i = 0; s1[i] != '\0' && s2[i] != '\0'; i++) {
if (tolower(s1[i]) != tolower(s2[i])) {
return tolower(s1[i]) - tolower(s2[i]);
}
}
return s1[i] - s2[i];
}
int main() {
char s1[100], s2[100];
printf("请输入字符串1:");
scanf("%s", s1);
printf("请输入字符串2:");
scanf("%s", s2);
if (strcasecmp(s1, s2) == 0) {
printf("两个字符串在忽略大小写后相等\n");
} else {
printf("两个字符串在忽略大小写后不相等\n");
}
return 0;
}
```
该程序中使用了自定义的strcasecmp()函数来比较两个字符串是否相等,忽略了大小写。输入的字符串通过scanf()函数获取,而不是使用gets()函数,以避免缓冲区溢出等问题。
C语言。判断两个由大小写字母和空格组成的字符串在忽略大小写,且忽略空格后是否相等。
C语言是一种广泛使用的通用-purpose计算机编程语言,它属于编译型语言,可以直接被硬件理解和执行。对于判断两个字符串在忽略大小写和空格后的相等性,你可以编写如下的函数:
```c
#include <stdio.h>
#include <string.h>
#include <ctype.h> // 需要用到tolower函数
// 函数用于比较两个字符串(忽略大小写和空格)
int compare_strings(const char* str1, const char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 检查长度是否相等
if (len1 != len2) return 0;
// 创建新的字符数组,去掉原始字符串中的空格并转换为小写
char clean_str1[len1 + 1], clean_str2[len2 + 1];
for (int i = 0; i < len1; i++) {
clean_str1[i] = tolower(str1[i]); // 转换为小写
clean_str1[i+1] = '\0'; // 结束字符
clean_str2[i] = tolower(str2[i]);
clean_str2[i+1] = '\0';
}
// 比较清理后的字符串
return strcmp(clean_str1, clean_str2); // 如果相等返回0,不等则返回非零值
}
int main() {
char str1[] = "Hello World";
char str2[] = "hello world";
if (compare_strings(str1, str2)) {
printf("The strings are equal (ignoring case and spaces).");
} else {
printf("The strings are not equal.");
}
return 0;
}
```
在这个例子中,`compare_strings`函数会忽略两个输入字符串中的大小写和空格,并通过`strcmp`函数比较它们的内容。如果两个清理后的字符串内容相等,则返回0,否则返回非零值。
阅读全文