c语言中输入统计两个字符串相同的字母其个自数
时间: 2024-10-07 08:03:26 浏览: 33
在C语言中,你可以使用循环和条件语句来统计两个字符串中相同的字符及其个数。下面是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void countSameChars(char str1[], char str2[]) {
int len1 = strlen(str1);
int len2 = strlen(str2);
int count[256] = {0}; // 创建一个大小为256的数组,用于存储ASCII字符出现次数,因为ASCII码范围是0到255
// 遍历第一个字符串,统计每个字符的出现次数
for (int i = 0; i < len1; i++) {
count[str1[i]]++;
}
// 再次遍历第二个字符串,检查并更新计数
for (int j = 0; j < len2; j++) {
if (count[str2[j]]) {
count[str2[j]]--;
}
}
// 输出相同字符及其个数
printf("相同字符及个数:\n");
for (int i = 0; i < 256; i++) {
if (count[i]) {
printf("%c: %d\n", i, count[i]);
}
}
}
int main() {
char str1[100], str2[100];
printf("请输入第一个字符串: ");
fgets(str1, sizeof(str1), stdin); // 注意处理fgets的换行符
str1[strlen(str1) - 1] = '\0'; // 去除fgets带来的换行符
printf("请输入第二个字符串: ");
fgets(str2, sizeof(str2), stdin);
str2[strlen(str2) - 1] = '\0';
countSameChars(str1, str2);
return 0;
}
```
在这个程序中,我们首先创建一个大小为256的计数数组,然后遍历每个字符串,分别增加和减少对应字符的计数。最后,打印出所有非零计数的字符及其出现次数。
阅读全文