c语言中输入两个字符串统计其相同字母各自出现的次数
时间: 2024-10-04 10:01:29 浏览: 66
在C语言中,你可以通过遍历两个字符串并逐个比较字符的方式来统计它们相同字母各自出现的次数。下面是一个简单的示例程序,它会使用两个指针分别指向两个字符串,并利用额外的空间存储每个字母及其计数:
```c
#include <stdio.h>
#include <ctype.h> // 包含用于处理字符的库函数
// 定义一个字符计数数组
#define ALPHABET_SIZE 26
char count[ALPHABET_SIZE] = {0}; // 初始化所有字母计数为0
void countChars(char* str1, char* str2) {
while (*str1 && *str2) {
if (tolower(*str1) == tolower(*str2)) { // 转换为小写进行比较
count[tolower(*str1) - 'a']++; // 对于相同的字符增加计数
}
str1++, str2++;
}
}
int main() {
char string1[100], string2[100];
printf("Enter the first string: ");
fgets(string1, sizeof(string1), stdin); // 防止回车
string1[strlen(string1) - 1] = '\0'; // 去除多余的换行符
printf("Enter the second string: ");
fgets(string2, sizeof(string2), stdin);
string2[strlen(string2) - 1] = '\0';
countChars(string1, string2);
// 打印结果
for (int i = 0; i < ALPHABET_SIZE; i++) {
if (count[i] > 0) {
printf("Character '%c': %d\n", i + 'a', count[i]);
}
}
return 0;
}
```
当你运行这个程序时,它会让用户输入两个字符串,然后计算并显示每个相同字母出现的次数。
阅读全文