#include<iostream>
#include<stdio.h>
#include<math.h>
#define N 1000
using namespace std;
int main()
{
char s[N],ch='A';
cout<<"请输入一个字符串:";
gets(s); //这个。。。
int out[27],outs[27];
for(int j=0;j<27;j++) //盛放大小写字母个数的两个数组初始化为0
{
out[j]=0;
outs[j]=0;
}
for(int i=0;i<strlen(s);i++)
{
if(s[i]>='A'&&s[i]<='Z')
out[int (s[i]-'A')]++;
if(s[i]>='a'&&s[i]<='z')
outs[int(s[i]-'a')]++;
}
float e=0.000f;
//m=1
for(int k=0;k<26;k++)
{
e=e+pow((float) outs[k]/(float) strlen(s),2);
}
//m=2
//float m1=0.000f,m2=0.000f;
//int s1[13],s2[13];
//输出
cout<<"各个字母出现的个数:"<<endl;
for(int m=0;m<26;m++)
cout<<char(ch+m)<<":"<<out[m]<<",";
cout<<endl;
for(int n=0;n<26;n++)
cout<<char(ch+n+32)<<":"<<outs[n]<<",";
cout<<endl;
cout<<"m为1时,重合指数:"<<e<<endl;
return 0;
}
计算字母的重合指数
最新推荐文章于 2022-06-05 23:58:42 发布