https://www.luogu.org/problemnew/show/P1598
忘记读取后清空数组,也不知道准确的长度。
#include<bits/stdc++.h> using namespace std; #define ll long long char 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(" "); } } curh--; } for(int i=0;i<26;i++){ char a='A'+i; printf("%c",a); if(i!=25){ printf(" "); } else{ printf(" "); } } }