#include<iostream>
#include<cmath>
#include <cstdlib>
using namespace std;
int main()
{
int sz[10]={0},zm[26]={0},z[26]={0},i,n,space=0,e=0;
char c;
float q=0.0;
float a[64]={0.00} ;
into=0; //比例数组
int zj,dd; // 排序中介数
n=0;
printf("请输入一段字符\n");
while((c=getchar())!='\n')
{
if(c<='z'&&c>='a')
{zm[c-'a']++;n++;}
else if(c<='Z'&&c>='A')
{z[c-'A']++;n++;}
else if(c<='9'&&c>='0')
{sz[c-'0']++;n++;}
else if(c==' ')
{
space++;n++;}
else
{
e++;n++;}
}
for (i=0;i<=9;i++)
{
if (sz[i]!=0)
{
a[o]=100*sz[i]/n;
cout<<"有"<<sz[i]<<"个"<<i<<"占比例"<<a[o]<<"%"<<endl;
o=o+1;
}
}
cout<<"----------------------"<<endl;
for (i=0;i<=25;i++)
{
if (z[i]!=0)
{
a[o]=100*z[i]/n;
cout<<"有"<<z[i]<<"个"<<char(65+i)<<"占比例"<<a[o]<<"%"<<endl;
o=o+1;
}
}
cout<<"----------------------"<<endl;
for (i=0;i<=25;i++)
{
if (zm[i]!=0)
{
a[o]=100*zm[i]/n;
cout<<"有"<<zm[i]<<"个"<<char(97+i)<<"占比例"<<a[o]<<"%"<<endl;
o=o+1;
}
}
cout<<"----------------------"<<endl;
if (space!=0)
{
a[o]=100*space/n;
cout<<"有"<<space<<"个空格 占比例"<<a[o]<<"%"<<endl;
o=o+1;
}
cout<<"----------------------"<<endl;
if (space!=0)
{
a[o]=100*e/n;
cout<<"有"<<e<<"个其他字符 占比例"<<a[o]<<"%"<<endl;
o=o+1;
}
cout<<"----------------------"<<endl;
for (dd=0;dd<n;dd++)
{
for (o=0;n-dd-1;o++)
{
if(a[o]>a[o+1])
{
zj = a[o];
a[o] = a[o+1];
a[o+1] = zj;
}
}
}
for (o=0;o<=n;o++)
{
if (a[o]!=0)
cout<<a[o]<<endl;
}
system("pause");
return 0;
}