用C++的include<stdio.h>、printf和scanf来编写用户输任意英文字母统计他们出现的次数并把他们及其出现次数输出到屏幕上使用for语句
时间: 2024-03-24 08:36:50 浏览: 41
好的,我会尽力回答您的问题。以下是C++代码实现:
```cpp
#include <stdio.h>
int main() {
int count[26] = {0};
char c;
printf("请输入英文字母,以#结束:\n");
for (scanf("%c", &c); c != '#' && scanf("%c", &c) != EOF;) {
if (c >= 'a' && c <= 'z') {
count[c - 'a']++;
}
else if (c >= 'A' && c <= 'Z') {
count[c - 'A']++;
}
}
for (int i = 0; i < 26; i++) {
if (count[i] > 0) {
printf("%c出现了%d次\n", i + 'a', count[i]);
}
}
return 0;
}
```
与前面两个问题的代码实现不同的是,这里我们使用了 `for` 循环和 `scanf` 函数来获取用户输入的英文字母。我们先通过 `scanf` 函数读入第一个字符 `c`,然后在 `for` 循环的判断条件中使用 `scanf` 函数读入下一个字符 `c`,同时判断是否已经输入完毕。如果用户输入了 `#` 或者输入结束,循环结束。
在循环中,我们与前面两个问题一样,根据输入的字符判断是否为小写字母或大写字母,并在 `count` 数组中对应字母的计数器加1。
最后,我们遍历 `count` 数组,找出出现次数不为0的字母,并通过 `printf` 函数将它们及其出现次数输出到屏幕上。
需要注意的是,由于使用了 `for` 循环来获取用户输入,因此代码相对于前面两个问题稍微复杂了一些。
希望这个代码能够帮到您!
阅读全文