我想用c语言实现输入一个字符串,求每个字母所占的比例
时间: 2023-05-17 19:07:17 浏览: 104
可以使用C语言中的字符数组和循环语句来实现输入一个字符串,并求出每个字母所占的比例。以下是示例代码:
```c
#include <stdio.h>
#include <string.h>
int main() {
char str[100];
int len, i, count[26] = {0};
printf("请输入一个字符串:");
scanf("%s", str);
len = strlen(str);
for (i = 0; i < len; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
count[str[i] - 'a']++;
}
else if (str[i] >= 'A' && str[i] <= 'Z') {
count[str[i] - 'A']++;
}
}
printf("每个字母所占的比例为:\n");
for (i = 0; i < 26; i++) {
if (count[i] != 0) {
printf("%c: %.2f%%\n", i + 'a', (float)count[i] / len * 100);
}
}
return 0;
}
```
这段代码中,首先定义了一个字符数组 `str`,用于存储输入的字符串。然后使用 `scanf` 函数从标准输入中读取字符串。接着使用 `strlen` 函数获取字符串的长度,以便后续的循环操作。
在循环中,使用 `count` 数组记录每个字母出现的次数。如果当前字符是小写字母,则将其对应的计数器加一;如果是大写字母,则同样将其对应的计数器加一。
最后,使用循环遍历 `count` 数组,计算每个字母所占的比例,并输出结果。注意,为了避免输出无用的信息,只有当某个字母出现过才会输出其所占的比例。
希望这个回答能够帮到你!
阅读全文
相关推荐















