c语言中统计两个字符串相同的字母其个自数
时间: 2024-10-04 17:01:26 浏览: 33
在C语言中,你可以通过比较两个字符串并逐个字符地检查它们是否相等来统计相同字母的数量。以下是一个简单的示例函数,它接受两个字符串作为输入,并返回相同字符的数量:
```c
#include <stdio.h>
#include <string.h>
int count_common_chars(char* str1, char* str2) {
int common_count = 0;
for (int i = 0; str1[i] != '\0' && str2[i] != '\0'; i++) {
if (str1[i] == str2[i]) {
common_count++;
}
}
return common_count;
}
int main() {
char str1[] = "hello";
char str2[] = "world hello";
printf("Number of common characters: %d\n", count_common_chars(str1, str2));
return 0;
}
```
这个`count_common_chars`函数遍历两个字符串,如果当前字符相等,则计数器增加。注意,这里假设输入的字符串都是有效的,即它们都有结束符`\0`。
相关问题
c语言中统计两个字符串相同的字母及其个数
在C语言中,你可以通过以下几个步骤来统计两个字符串中相同的字符及其个数:
1. **初始化**:首先,声明并初始化两个字符串,比如`str1`和`str2`,以及一个变量`count`用于记录相同字符的数量。
```c
char str1[50], str2[50];
int count = 0;
```
2. **比较**:遍历两个字符串,对于每个字符,可以使用ASCII码值进行比较。如果两个字符相等,就将`count`加一。
```c
for (int i = 0; str1[i] != '\0'; i++) {
for (int j = 0; str2[j] != '\0'; j++) {
if (str1[i] == str2[j]) {
count++;
break; // 一旦找到匹配,跳出内层循环继续下一个字符
}
}
}
```
3. **结束遍历**:遍历结束后,`count`包含了两个字符串中相同字符的总数。
```c
// 结束函数
printf("两个字符串中有 %d 个相同的字符。\n", count);
```
注意,这个方法只适用于小写字母和数字,对于大写字母,需要先转换为统一大小写再进行比较;对于特殊字符和非ASCII字符,可能需要额外处理。
c语言中输入统计两个字符串相同的字母其个自数
在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的计数数组,然后遍历每个字符串,分别增加和减少对应字符的计数。最后,打印出所有非零计数的字符及其出现次数。
阅读全文