题目:
写一个程序从输入文件中去读取四行大写字母(全都是大写的,每行不超过 100100 个字符),然后用柱状图输出每个字符在输入文件中出现的次数。严格地按照输出样例来安排你的输出格式。
源代码:
#include <cstring>
#include <string>
#include <iostream>
using namespace std;
int cnt[26];
int Max;
int main()
{
for(int i = 0;i < 4;i ++)
{
string str;
getline(cin,str);
for(int j = 0;j < str.length();j ++)
{
//添加if条件判断,防止数组越界
if('A' <= str[j] && str[j] <= 'Z') cnt[str[j] - 'A'] ++;
}
}
//计算出现次数最大的字符
for(int i = 0;i < 26;i ++) if(cnt[i] > Max) Max = cnt[i];
for(int i = Max;i > 0;i --) //控制柱状图的高度
{
for(int j = 0;j < 26;j ++)
{
if(i <= cnt[j]) cout << "* ";
else cout << " ";
}
cout << endl;
}
for(int i = 0;i < 26;i ++) printf("%c ",i + 'A');
return 0;
}