从键盘输入1行字符串(每行最多输入80个字符), 统计字符串中所包含的各个英文小写字符及其对应的数量。 **输入格式要求:不要有任何提示信息,直接输入1行字符。 **输出格式要求:按字母顺序输出统计结果,"%c=%d\n" 每行输出一个字母的统计信息。 如果某个字母没有出现,则不输出该字母的统计信息。 如:输入字符串: abc2ed a7bcdcd 则输出: a=2 b=2 c=3 d=3 e=1
时间: 2023-04-30 22:01:09 浏览: 159
代码如下:
```python
s = input() # 输入字符串
count = [] * 26 # 初始化计数器,用于统计每个字母出现的次数
# 遍历字符串,统计每个字母出现的次数
for ch in s:
if ch.islower(): # 判断是否为小写字母
count[ord(ch) - ord('a')] += 1
# 输出统计结果
for i in range(26):
if count[i] > :
print("%c=%d" % (chr(i + ord('a')), count[i]))
```
解释如下:
首先,我们使用 `input()` 函数从键盘输入一个字符串,并将其存储在变量 `s` 中。
接着,我们初始化一个长度为 26 的列表 `count`,用于统计每个字母出现的次数。由于题目要求统计小写字母,因此我们只需要考虑 a 到 z 这 26 个字母即可。我们可以使用 ASCII 码将每个字母映射到一个整数,从而将计数器的下标与字母一一对应。
然后,我们遍历字符串 `s` 中的每个字符,如果该字符是小写字母,则将对应计数器加 1。
最后,我们遍历计数器列表 `count`,如果某个字母出现次数大于 ,则输出该字母及其出现次数。注意,我们需要使用 `%c` 和 `%d` 格式化输出,将整数转换为对应的字符和数字。
相关问题
C语言从键盘输入1行字符串(每行最多输入80个字符), 统计字符串中所包含的各个英文小写字符及其对应的数量。 **输入格式要求:不要有任何提示信息,直接输入1行字符。 **输出格式要求:按字母顺序输出统计结果,"%c=%d\n" 每行输出一个字母的统计信息。 如果某个字母没有出现,则不输出该字母的统计信息。
好的,我可以帮你解决这个问题。
你可以参考以下代码:
```c
#include <stdio.h>
int main() {
char str[81];
int count[26] = {0}; // 用于统计每个字母出现的次数
// 从键盘输入字符串
scanf("%s", str);
// 遍历字符串,统计每个字母出现的次数
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= 'a' && str[i] <= 'z') {
count[str[i] - 'a']++;
}
}
// 按字母顺序输出统计结果
for (char ch = 'a'; ch <= 'z'; ch++) {
if (count[ch - 'a'] > 0) {
printf("%c=%d\n", ch, count[ch - 'a']);
}
}
return 0;
}
```
这个程序中,我们首先定义了一个长度为 81 的字符数组 `str`,用于存储输入的字符串。我们还定义了一个长度为 26 的整型数组 `count`,用于统计每个字母出现的次数。
接着,我们使用 `scanf` 函数从键盘输入字符串,并使用一个 for 循环遍历字符串中的每个字符。如果字符是小写字母,则将对应的计数器加 1。
最后,我们再次使用一个 for 循环,按字母顺序输出每个字母的统计信息。如果某个字母没有出现,则不输出该字母的统计信息。
希望这个程序能够帮助到你!
c语言 从键盘输入1行字符串(每行最多输入80个字符), 统计字符串中所包含的各个英文小写字符及其对应的数量。 **输入格式要求:不要有任何提示信息,直接输入1行字符。 **输出格式要求:按字母顺序输出统计结果,"%c=%d\n" 每行输出一个字母的统计信息。 如果某个字母没有出现,则不输出该字母的统计信息。
以下是一份可能的 C 语言代码实现:
```c
#include <stdio.h>
#include <ctype.h>
#define MAX_LEN 80
int main() {
char str[MAX_LEN + 1]; // 用于存储输入的字符串
int count[26] = {0}; // 用于统计每个小写字母出现的次数,下标 0~25 分别对应 a~z
// 从标准输入读取一行字符串
fgets(str, MAX_LEN + 1, stdin);
// 统计每个小写字母出现的次数
for (int i = 0; str[i] != '\0'; i++) {
if (islower(str[i])) {
count[str[i] - 'a']++;
}
}
// 按字母顺序输出统计结果
for (int i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c=%d\n", 'a' + i, count[i]);
}
}
return 0;
}
```
该程序首先定义了一个字符数组 `str` 和一个长度为 26 的整型数组 `count`,分别用于存储输入的字符串和统计每个小写字母出现的次数。然后通过 `fgets()` 函数从标准输入读取一行字符串,遍历字符串中的每个字符,如果是小写字母则将对应的计数器加一。最后按字母顺序输出统计结果,只输出出现次数大于零的小写字母。
阅读全文