/*C++ P249 6-21.编写一个函数,统计一句英文句子中字母的个数,在主程序中输入输出*/
#include <iostream>
#include <string>
#include <algorithm>
#include "ctype.h"//大小写转换的函数
using namespace std;
/* run this program using the console pauser or add your own getch, system("pause") or input loop */
int Statistic(string *str)
{
int i=0,j=0;
int a[26]={0};
int *p=a;
while(*(str+i)!='\0')
{
if((int)*(str+i)>=97&&(int)*(str+i)<=123)
{
*(str+i)=toupper(*(str+i));
}
i++;
}
i=0;
while(*(str+i)!='\0')
{
if(*(str+i)!=' ')
a[(int)(*(str+i)-'A')]++;
i++;
}
return *p;
}
int main(int argc, char** argv) {
string str;
cin>>str;
int *a;
a=Statistic(str);
int max=max(a);
for(int i=0;i<26;i++)
{
int s+=a[i];
}
cout<<"字母总个数为"<<s<<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"<<endl;
cout<<"---------------------------------------------------"<<endl;
for(int i=0;i<max;i++)
{
for(int j=0;j<26;j++)
{
if(a[j])
{
cout<<"*"<<" ";
a[j]--;
}
}
cout<<endl;
}
return 0;
}