C语言实现统计一段字符串中相同字符的个数
时间: 2023-06-01 14:02:48 浏览: 286
以下是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>
#define MAX_LENGTH 1000
int main() {
char str[MAX_LENGTH];
int wordCount = 0, i;
// 从控制台读取输入的字符串
printf("请输入字符串:\n");
fgets(str, MAX_LENGTH, stdin);
// 统计单词个数
for (i = 0; str[i] != '\0'; i++) {
// 如果当前字符是空格或者换行符,则表示一个单词的结束,计数器加1
if (str[i] == ' ' || str[i] == '\n') {
wordCount++;
}
}
// 输出单词个数
printf("字符串中共有%d个单词\n", wordCount);
return 0;
}
```
程序中的思路很简单:遍历字符串中每个字符,如果当前字符是空格或者换行符,则表示一个单词的结束,计数器加1。最后输出计数器的值即可。
c语言代码实现输入一段字符串统计字母个数
好的,这个问题很简单。以下是C语言代码实现输入一段字符串统计字母个数的示例:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int count = 0;
printf("请输入一个字符串:");
fgets(str, 100, stdin);
for (int i = 0; i < strlen(str); i++) {
if ((str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z')) {
count++;
}
}
printf("字符串中字母的个数为:%d\n", count);
return 0;
}
```
希望能够帮助你解决问题!