算法思想:
第一步:利用一个长度26的数组存放每个字母(不分大小写)出现的次数,如count[0]表示a或A的出现的次数;
第二步:统计出现字母的种类数;
第三步:利用一个长度26的数组存放每种字母的完美度权值(出现最多的字母权值为26),权值=(26-字母种类数)+字母出现的次数;
第四步:计算次数与权值乘积的累加和即为字符串的完美度。
#include <stdio.h>
int perfect(const char *s)
{
int i;//循环变量
int order=0;//定位变量
int base=0;//计算基底
int count[26]={0};//个数数组
int value[26]={0};//权值数组
int kind=0;//种类数
int perfect=0;//完美度
while((*s)!='\0')//统计各