字符串完美度计算的C实现(我自己编译运行正确,编程挑战赛时不管怎么都成功不了,奇了个葩)

该博客介绍了一个C语言实现的字符串完美度计算算法,通过统计每个字母的出现次数、种类数,计算权值,并求得累加和。代码在作者本地编译运行正确,但在编程挑战赛中未能成功,可能存在环境或输入差异问题。
摘要由CSDN通过智能技术生成

算法思想:

第一步:利用一个长度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')//统计各

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值