样例和答案似乎没什么不同,但wa
查看原帖
样例和答案似乎没什么不同,但wa
484053
popnn楼主2022/10/19 22:18
#include<iostream>
#include<string>
using namespace std;

int star[256];

int main()
{
	//输入字符并存储
	char ch;
	int i, j, n=0;
	while (n != 4)
	{
		cin.get(ch);
		if (ch == '\n' || ch == '\r')n++;
		star[ch]++;
	}
	//max是最多的星号数量,也是柱状图的高度,last用来存储最后一个要输出的字母
	int max = star['A'], last;
	for (i = 'A'; i <= 'Z'; ++i)if (max < star[i])max = star[i];

	for (i = max; i >0; --i)
	{
		for (j = 'Z'; j >= 'A'; --j)if (star[j] >= i) { last = j; break; }

		//单独输出最后一个使行尾无空格
		for (j = 'A'; j < last; ++j)
		{
			if (star[j] < i)cout << "  ";
			else cout << "* ";
		}
		cout << "*" << endl;
	}
	for (i = 'A'; i <= 'Y'; ++i)cout << char(i) << ' ';
	cout << "Z";

	return 0;
}
2022/10/19 22:18
加载中...