求求大佬帮帮,本地看着没有问题,但是40分,下载测试样例了看着也没问题,救救

P1598 垂直柱状图

```cpp fgets(str,sizeof(str),stdin); string plusstr = str; plusstr.pop_back(); ``` 这里 `plusstr.pop_back();` 删掉。
by Tiagim @ 2023-03-27 08:24:31


@[Tiagim](/user/237963) 感谢大佬,感激不尽
by du19107125020 @ 2023-03-29 19:31:17


```cpp #include<iostream> using namespace std; int t[30]; int main() { string s1,s2,s3,s4; getline(cin,s1); getline(cin,s2); getline(cin,s3); getline(cin,s4); for (int i = 0;i < s1.length();i++) if ('A' <= s1[i] && s1[i] <= 'Z') t[s1[i] - 'A' + 1]++; for (int i = 0;i < s2.length();i++) if ('A' <= s2[i] && s2[i] <= 'Z') t[s2[i] - 'A' + 1]++; for (int i = 0;i < s3.length();i++) if ('A' <= s3[i] && s3[i] <= 'Z') t[s3[i] - 'A' + 1]++; for (int i = 0;i < s4.length();i++) if ('A' <= s4[i] && s4[i] <= 'Z') t[s4[i] - 'A' + 1]++; int maxn = 0; for (int i = 1;i <= 26;i++) maxn = max(maxn,t[i]); for (int i = maxn;i >= 1;i--) { for (int j = 1;j <= 26;j++) { bool flag = true; for (int k = j;k <= 26;k++) if (t[k] >= i) flag = false; if (flag) break; else if (!flag && t[j] >= i) cout << "*"; else cout << " "; if (j < 26) cout << " "; } cout << endl; } for (int i = 1;i <= 26;i++) { cout << char(i - 1 + 'A'); if (i < 26) cout << " "; } return 0; } ```
by Terry2011 @ 2023-06-03 22:17:38


|