垂直柱状图拓展代码思路:对英文文章出现的各字母以柱状图的方式输出,标记大小写分别出现的次数,统计单词数,句子数(文章以“@”号结尾)
问题:控制大小写问题
#include<iostream>
#include<cstdio>
#include<string>
using namespace std;
string s;
int ans,cnt;
char c;
int a[2000][3],b[2000];
int main()
{
while(1){
cin>>c;
if(c>='A'&&c<='Z')
a[c-64][1]++;
if(c>='a'&&c<='z')
a[c-96][2]++;
if(c=='@')break;
}
cout<<" “#”表示大写"<<endl;
cout<<" “*”表示小写"<<endl;
for(int i=1;i<=200;i++)
b[i]=a[i][1]+a[i][2];
int t=-1;
for(int i=1;i<=26;i++)
{
if(a[i][1]+a[i][2]>t)t=a[i][1]+a[i][2];
}
int x=t;
for(int j=1;j<=x;j++)
for(int i=1;i<=26;i++)
{
if(t==b[i]&&i==26){
cout<<"*";
b[i]--;
}
else if(t==b[i]&&i!=26){
cout<<"* ";b[i]--;
}
else if(i==26){
cout<<" ";
}
else cout<<" ";
if(i==26){
t--;
cout<<endl;
}
}
for(int i=65;i<=65+24;i++){
cout<<char(i)<<" ";
}
cout<<"Z";
return 0;
}
求求了qwq