忘记读取后清空数组,也不知道准确的长度。
#includeusing namespace std;#define ll long longchar s[2005];int cnt[26]={};int maxh=0;int main(){ fgets(s,2005,stdin); for(int i=0;i<2000;i++){ if(s[i]>='A'&&s[i]<='Z'){ cnt[s[i]-'A']++; } s[i]=' '; } fgets(s,2005,stdin); for(int i=0;i<2000;i++){ if(s[i]>='A'&&s[i]<='Z'){ cnt[s[i]-'A']++; } s[i]=' '; } fgets(s,2005,stdin); for(int i=0;i<2000;i++){ if(s[i]>='A'&&s[i]<='Z'){ cnt[s[i]-'A']++; } s[i]=' '; } fgets(s,2005,stdin); for(int i=0;i<2000;i++){ if(s[i]>='A'&&s[i]<='Z'){ cnt[s[i]-'A']++; } s[i]=' '; } maxh=*max_element(cnt,cnt+26); int curh=maxh; while(curh){ for(int i=0;i<26;i++){ if(cnt[i]>=curh){ printf("*"); } else{ printf(" "); } if(i!=25){ printf(" "); } else{ printf("\n"); } } curh--; } for(int i=0;i<26;i++){ char a='A'+i; printf("%c",a); if(i!=25){ printf(" "); } else{ printf("\n"); } }}