c语言中输入两字符串统计其相同字母各自出现的次数
时间: 2024-10-04 11:01:27 浏览: 34
⑴统计字符串中的各元音字母的个数-c语言教程
在C语言中,你可以使用`#include <stdio.h>` 和 `#include <string.h>` 来实现这个功能。首先,你需要从用户那里获取两个字符串,然后通过遍历字符串并比较每个字符,来统计相同字母各自的出现次数。这里是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
int count_chars(char str1[], char str2[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int count[256] = {0}; // 初始化一个大小为256的数组,用于存储ASCII字符的计数
for (int i = 0; i < len1 && i < len2; i++) {
if (str1[i] == str2[i]) {
count[str1[i]]++; // 如果字符相同,计数加一
}
}
return count;
}
void print_count(int count[]) {
for (int i = 0; i < 256; i++) {
if (count[i] > 0) {
printf("Character '%c' appears %d times.\n", i, count[i]);
}
}
}
int main() {
char str1[100], str2[100];
printf("Enter first string: ");
fgets(str1, sizeof(str1), stdin); // 注意fgets处理换行符
str1[strlen(str1)-1] = '\0'; // 去除fgets带来的换行符
printf("Enter second string: ");
fgets(str2, sizeof(str2), stdin);
str2[strlen(str2)-1] = '\0';
int char_counts[countof(count)];
char_counts = count_chars(str1, str2);
printf("Same characters and their counts:\n");
print_count(char_counts);
return 0;
}
```
在这个程序中,我们首先定义了`count_chars` 函数来计算字符出现的次数,然后用`print_count` 函数打印结果。注意,由于C语言中单个字符会被映射到ASCII码,所以我们用一个256元素的数组来存储所有可能的ASCII字符及其对应次数。
阅读全文