标签:io os ar for sp 2014 c amp r
1021.柱状图A出现了5次 LAZY AN EXAMPLE HISTOGRAM PROGRAM因此有5个* 同理 B出现了1次 C出现了1次 D出现了2次 E出现了8次 …… 再看 O的第一行 前面用空格补齐 后面由于没有什么了 当然输出了相应的*后直接回车就行了(任 何一行的行尾不能包含无用的空格) 最后一行 输出了A ->Z后 就结束 不用输出回车
/***********************************
author : Grant Yuan
time : 201410/4 2:15
source : 西工大10级保研机试
explain : 水题,除了对格式要求很严
************************************/
#include <iostream>
#include<cstdio>
#include<cstring>
#include<cstdlib>
#include<algorithm>
#include<queue>
using namespace std;
int n;
char a[100];
int num[256];
int main()
{
memset(a,0,sizeof(a));int k,d;
for(k=1;k<=4;k++)
{
memset(a,0,sizeof(a));
gets(a);
int l=strlen(a);
for(int i=0;i<l;i++)
{
if(a[i]>='A'&&a[i]<='Z')
{
num[a[i]]++;
}
}
}
int l1='A',l2='Z',m=0;
for(k=l1;k<=l2;k++)
{
if(num[k]>m) m=num[k];
}
while(1){
for(k=l1;k<=l2;k++) if(num[k]>=m) d=k;
for(k=l1;k<=l2;k++)
{
if(num[k]>=m){
if(k<d) printf("* ");
else printf("*");
}
else {if(k<d)printf(" ");}
}m--;printf("\n");
if(m<=0) break;}
printf("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;
}
标签:io os ar for sp 2014 c amp r
原文地址:http://blog.csdn.net/yuanchang_best/article/details/39770467