栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

P1598垂直柱状图

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

P1598垂直柱状图

#include
#include
#include 
#include
#include
using namespace std;

int main()
{
	
	string a,b,c,d;
	getline(cin, a);
	getline(cin, b);
	getline(cin, c);
	getline(cin, d);
	int A[30] = {0};//存放字母出现的次数
	for (int i = 0; i < a.size(); i++)
	{
		if (a[i] >= 'A'&&a[i] <= 'Z')//用字母的顺序做数组下标
		{
			A[a[i] - '@']++;
		}
	}
	for (int j = 0; j < b.size(); j++)
	{
		if (b[j] >= 'A'&&b[j] <= 'Z')
		{
			A[b[j] - '@']++;
		}
	}
	for (int k = 0; k< c.size(); k++)
	{
		if (c[k] >= 'A'&&c[k] <= 'Z')
		{
			A[c[k] - '@']++;
		}
	}
	for (int m = 0; m < d.size(); m++)
	{
		if (d[m] >= 'A'&&d[m] <= 'Z')
		{
			A[d[m] - '@']++;
		}
	}
	
	int max = A[0];
	for (int n = 1; n <= 26; n++)//找出字母出现最多字数的那个,可以确定行
	{
		if (A[n] >= max)
			max = A[n];
	}
	int temp = max;
	for (int q = 1; q <= max; q++)//比最多次数小的就不输出,等于最多次数的就输出
	{
		for (int p = 1; p <= 25; p++)
		{
			if (A[p] < temp)
				cout << "  ";
			else
				cout << "* ";
		}
		if (A[26] < temp)
			cout << "  ";
		else
			cout << "*";
		temp--;//最大次数每输完一行要减1
		cout << endl;
	}
	cout << "A B C D E F G H I J K L M N O P Q R S T U V W X Y Z";
		return 0;

}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/702916.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号