关于P1598垂直柱状图扩展代码:恳请各位大佬百忙之中提供个建议qwq
  • 板块学术版
  • 楼主AH3323342925
  • 当前回复2
  • 已保存回复2
  • 发布时间2021/3/10 17:37
  • 上次更新2023/11/5 02:14:02
查看原帖
关于P1598垂直柱状图扩展代码:恳请各位大佬百忙之中提供个建议qwq
98509
AH3323342925楼主2021/3/10 17:37

垂直柱状图拓展代码思路:对英文文章出现的各字母以柱状图的方式输出,标记大小写分别出现的次数,统计单词数,句子数(文章以“@”号结尾)

问题:控制大小写问题

#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

2021/3/10 17:37
加载中...