C语言判断一个字符串中的每个字符的数量是否在令一个字符串中都有相同数量的字符
时间: 2024-02-22 11:57:18 浏览: 152
可以使用两个数组分别记录两个字符串中每个字符出现的次数,然后进行比较。
具体实现可以参考以下代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str1[100], str2[100];
int cnt1[256] = {0}, cnt2[256] = {0}; // 用数组记录每个字符出现的次数
printf("请输入字符串1:");
scanf("%s", str1);
printf("请输入字符串2:");
scanf("%s", str2);
int len1 = strlen(str1), len2 = strlen(str2);
if (len1 != len2) {
printf("两个字符串长度不同!\n");
return 0;
}
for (int i = 0; i < len1; i++) {
cnt1[str1[i]]++; // 统计字符串1中每个字符出现的次数
cnt2[str2[i]]++; // 统计字符串2中每个字符出现的次数
}
// 比较两个字符串中每个字符出现的次数是否相同
int flag = 1;
for (int i = 0; i < 256; i++) {
if (cnt1[i] != cnt2[i]) {
flag = 0;
break;
}
}
if (flag) {
printf("字符串1中的每个字符出现的次数都在字符串2中有相同数量的字符!\n");
} else {
printf("字符串1中的每个字符出现的次数不都在字符串2中有相同数量的字符!\n");
}
return 0;
}
```
输入示例:
```
请输入字符串1:hello
请输入字符串2:oellh
```
输出示例:
```
字符串1中的每个字符出现的次数都在字符串2中有相同数量的字符!
```
阅读全文