编写程序统计各种字符的个数C语言
时间: 2023-11-15 11:02:19 浏览: 116
```
#include <stdio.h>
int main() {
char str[100];
int i, freq[256] = {0};
printf("输入一个字符串:");
gets(str);
for(i=0; str[i]!='\0'; i++) {
freq[str[i]]++;
}
printf("\n字符出现的频率:\n");
for(i=0; i<256; i++) {
if(freq[i] != 0) {
printf("%c 出现了 %d 次\n", i, freq[i]);
}
}
return 0;
}
```
说明:
- `str`:存储输入字符串的字符数组。
- `freq`:存储各种字符出现次数的数组,使用 ASCII 码作为下标。
- `gets(str)`:输入字符串。
- `freq[str[i]]++`:统计字符出现次数。
- `if(freq[i] != 0)`:输出出现次数不为零的字符及其出现次数。
相关问题
编写程序,输入一行字符串,统计字符串中字符的个数 c语言
可以使用C语言中的字符串函数`strlen`来计算字符串中字符的个数。以下是一个示例程序:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len;
printf("请输入字符串:\n");
gets(str);
len = strlen(str);
printf("字符串中字符的个数为:%d\n", len);
return 0;
}
```
以上程序中,首先定义了一个字符数组`str`,用于存储输入的字符串。然后使用`gets`函数从标准输入读取一行字符串。接着使用`strlen`函数计算字符串中字符的个数,并将结果输出到标准输出。注意,`gets`函数不安全,建议使用更安全的函数`fgets`来替代。
编写程序,输入一行字符串,统计字符串中字符的个数 c语言 用while循环
下面是用C语言编写的实现:
```c
#include <stdio.h>
int main() {
char str[100];
int count = 0, i = 0;
printf("请输入字符串:\n");
scanf("%s", str);
while (str[i] != '\0') {
count++;
i++;
}
printf("字符个数为:%d\n", count);
return 0;
}
```
解释一下这段代码的主要实现流程:
1. 定义了一个字符串数组 `str`,用于存储输入的字符串。
2. 定义了两个整型变量 `count` 和 `i`,其中 `count` 用于记录字符个数,`i` 用于循环计数。
3. 通过 `scanf` 函数接收用户输入的字符串。
4. 进入 `while` 循环,判断当前字符是否为字符串的结束符 `\0`,如果不是,则将字符个数 `count` 加 1,并将计数器 `i` 加 1。
5. 循环结束后,输出字符个数 `count` 的值。
注意,这里使用了 `scanf` 函数来接收用户输入的字符串,但这种方式有一定的安全隐患。如果用户输入的字符串超过了数组 `str` 的长度,就会发生缓冲区溢出的问题。更好的做法是使用 `fgets` 函数来接收字符串,而且可以限制最大输入长度。
阅读全文