c语言输入一串字符统计个数
时间: 2023-08-24 19:36:58 浏览: 83
好的,下面给出一个简单的 C 语言程序实现输入一串字符并统计每个字符出现的次数:
```c
#include <stdio.h>
int main() {
char str[100]; // 定义一个字符数组
int freq[256] = {0}; // 定义一个数组,用于存放每个字符出现的次数
printf("请输入一串字符:");
fgets(str, 100, stdin); // 从标准输入中读取字符串
for (int i = 0; str[i] != '\0'; i++) {
freq[(int)str[i]]++; // 统计字符出现的次数
}
printf("每个字符出现的次数如下:\n");
for (int i = 0; i < 256; i++) {
if (freq[i] != 0) {
printf("%c : %d\n", (char)i, freq[i]); // 输出字符及其出现次数
}
}
return 0;
}
```
这个程序定义了一个字符数组 `str` 用于存放输入的字符串,以及一个整型数组 `freq` 用于统计每个字符出现的次数。接着通过 `fgets` 函数从标准输入中读取字符串,并遍历字符串,统计每个字符出现的次数。最后输出每个字符及其出现的次数。
相关问题
c语言实现输入一串字符统计字符个数
可以使用字符数组来存储输入的字符串,然后遍历数组统计字符个数。具体实现如下:
```c
#include <stdio.h>
int main() {
char str[100];
int count = 0, i;
printf("请输入一串字符:");
gets(str); // 使用gets函数读取字符串
for (i = 0; str[i] != '\0'; i++) {
if (str[i] != ' ') { // 如果不是空格,则计数器加1
count++;
}
}
printf("字符个数为:%d\n", count);
return 0;
}
```
上述代码中,我们使用了`gets()`函数来读取字符串,注意这个函数不会检查输入的字符串长度是否超出了数组的长度,所以需要确保输入的字符串不会超过数组的长度。同时,在遍历数组时,我们需要注意到字符串以`\0`结尾,所以循环条件为`str[i] != '\0'`。
c语言输入字符串统计不同字符个数
在C语言中,你可以通过遍历字符串并利用哈希表(如数组或结构体数组)来统计不同字符的个数。这里是一个简单的示例:
```c
#include <stdio.h>
#include <string.h>
// 定义一个结构体用于存储字符及其计数
typedef struct {
char ch;
int count;
} CharCount;
int main() {
char str[100]; // 假设字符串长度不超过100
int i = 0;
printf("Enter a string: ");
fgets(str, sizeof(str), stdin); // 注意fgets处理换行符
// 初始化所有字符的计数为0
CharCount charCounts['z' - 'a' + 1] = {0}; // 对于小写字母,从'a'到'z'
CharCount charCountsUpper['Z' - 'A' + 1] = {0}; // 对于大写字母,从'A'到'Z'
// 遍历字符串并更新字符计数
for (i = 0; str[i] != '\0'; ++i) {
if ('a' <= str[i] && str[i] <= 'z') // 小写字母
charCounts[str[i] - 'a'].count++;
else if ('A' <= str[i] && str[i] <= 'Z') // 大写字母
charCountsUpper[str[i] - 'A'].count++;
}
// 输出每个字符及其计数
for (char *counts = charCounts; counts->ch != '\0'; counts++) {
if (counts->count > 0) {
printf("%c appears %d times.\n", counts->ch, counts->count);
}
}
for (char *counts = charCountsUpper; counts->ch != '\0'; counts++) {
if (counts->count > 0) {
printf("%c appears %d times.\n", counts->ch, counts->count);
}
}
return 0;
}
阅读全文