C语言实现统计一段字符串中相同字符的个数
时间: 2023-06-01 18:02:48 浏览: 403
以下是C语言代码实现:
```c
#include <stdio.h>
#include <string.h>
int main()
{
char str[100];
int freq[256] = {0}; // 用数组记录每个字符出现次数,ASCII码有256个字符
printf("请输入字符串:");
gets(str); // 读入字符串
int len = strlen(str);
for (int i = 0; i < len; i++)
{
freq[(int)str[i]]++; // 将字符转换为ASCII码,增加相应的计数器
}
printf("每个字符出现的次数为:\n");
for (int i = 0; i < 256; i++)
{
if (freq[i] > 0)
{
printf("%c: %d\n", i, freq[i]); // 输出非零计数器对应的字符和次数
}
}
return 0;
}
```
这段代码使用了一个长度为256的数组 `freq` 来记录每个字符出现的次数,数组的下标对应字符的ASCII码。读入字符串后,遍历每个字符,将相应的计数器加1。最后输出非零计数器对应的字符和次数。
相关问题
用C语言编写统计一个字符串中英文字母的个数
在C语言中,你可以使用标准库函数以及一些基本的数据结构来统计一个字符串中英文字母的个数。以下是一个简单的示例程序:
```c
#include <stdio.h>
#include <ctype.h> // 包含字符处理函数
int count_letters(char *str) {
int count = 0; // 初始化字母计数为0
for(int i = 0; str[i] != '\0'; i++) { // 遍历字符串直到结束符
if(isalpha(str[i])) { // 判断字符是否为字母 (包括大小写字母)
count++;
}
}
return count;
}
int main() {
char input[100];
printf("请输入一个字符串: ");
fgets(input, sizeof(input), stdin); // 从用户输入读取字符串,忽略换行符
input[strcspn(input, "\n")] = '\0'; // 清除fgets添加的换行符
int letter_count = count_letters(input);
printf("字符串 '%s' 中英文字母的个数为 %d。\n", input, letter_count);
return 0;
}
```
这个程序首先定义了一个`count_letters`函数,它遍历输入的字符串并检查每个字符是否为字母。如果是字母,则计数器加一。主函数中获取用户输入,并调用此函数来计算字母总数。
c语言中统计两个字符串相同的符号及其各自出现的个数
在C语言中,你可以通过遍历和比较两个字符串的方式来统计它们相同的字符及各自的出现次数。这里是一个简单的示例程序:
```c
#include <stdio.h>
#include <string.h>
void count_chars(const char* str1, const char* str2) {
int len1 = strlen(str1);
int len2 = strlen(str2);
// 确保字符串长度相等,以便于比较
if (len1 != len2) {
printf("Error: Strings are not of equal length.\n");
return;
}
int count[128] = {0}; // 创建一个数组存储ASCII字符计数
for (int i = 0; i < len1; i++) {
char ch = str1[i];
count[ch]++;
// 因为ASCII码范围是0-127,所以只考虑这个范围内的字符
if (ch == str2[i])
count[ch]++; // 如果字符相同,两个计数都加1
}
// 打印结果
for (int i = 0; i < 128; i++) {
if (count[i]) {
printf("Character %d appears %d times in both strings.\n", i, count[i]);
}
}
}
int main() {
char str1[] = "Hello, World!";
char str2[] = "World, Hello!";
count_chars(str1, str2);
return 0;
}
```
在这个程序中,`count_chars`函数接收两个字符串作为输入,计算每个字符在两个字符串中出现的总次数,并检查是否在两个位置上都出现过。如果在两个位置上都出现,则将相应的计数值增加。
阅读全文