P1598 垂直柱状图。Dev C++里面输出没有错,最后的空格也注意了,还是不能通过,不知道哪里错了,求大佬帮忙看一下。
#include <stdio.h>
#include <iostream>
#include <string.h>
using namespace std;
char q[400][26] = {' '};
int main() {
string v1, v2, v3, v4;
int s[26] = {0}, len;
getline(cin, v1);
getline(cin, v2);
getline(cin, v3);
getline(cin, v4);
v1 = v1 + v2 + v3 + v4;
//cout << v1 << endl;
len = v1.size();
//cout << len << endl;
for (int i = 0; i < len; i++) {
for (int j = 0; j < 26; j++) {
if (v1[i] == 'A' + j)
s[j]++;
}
}
int max = s[0];
for (int i = 1; i < 26; i++) {
if (max < s[i])
max = s[i];
}
for (int i = 0; i < 26; i++) {
q[0][i] = 'A' + i;
}
for (int i = 0; i < 26; i++) {
for (int j = 1; j <= s[i]; j++) {
q[j][i] = '*';
}
}
for (int i = max; i >= 0; i--) {
for (int j = 0; j < 26; j++) {
cout << q[i][j];
if (j != 25)
cout << ' ';
}
cout << endl;
}
return 0;
}