输入两个字符串str1和str2,判断str2中是否有str1,str1各字母顺序可以互相交换,用c语言编写
时间: 2024-04-15 07:31:29 浏览: 121
你可以使用C语言编写一个函数来判断str2中是否包含str1中的字符。下面是一个示例代码:
```c
#include <stdio.h>
#include <string.h>
int isAnagram(char str1[], char str2[]) {
int count1[26] = {0}; // 用于计数str1中每个字符出现的次数
int count2[26] = {0}; // 用于计数str2中每个字符出现的次数
// 统计str1中每个字符出现的次数
for (int i = 0; i < strlen(str1); i++) {
count1[str1[i] - 'a']++;
}
// 统计str2中每个字符出现的次数
for (int i = 0; i < strlen(str2); i++) {
count2[str2[i] - 'a']++;
}
// 比较两个统计数组,如果相同则说明str2中包含str1中的字符
for (int i = 0; i < 26; i++) {
if (count1[i] != count2[i]) {
return 0;
}
}
return 1;
}
int main() {
char str1[100], str2[100];
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
if (isAnagram(str1, str2)) {
printf("字符串2中包含字符串1中的字符\n");
} else {
printf("字符串2中不包含字符串1中的字符\n");
}
return 0;
}
```
这段代码中的isAnagram函数用于判断str2中是否包含str1中的字符,它通过统计两个字符串中各个字符出现的次数,然后比较这些次数是否相同来判断。在主函数中,我们先输入两个字符串str1和str2,然后调用isAnagram函数进行判断,并输出结果。
阅读全文