• 字符统计算法


    一、要求

           给定一个字符串,从字符串中找出出现次数最多的字符。

    二、实现

           原理:利用数组来存储字符出现的次数,利用数组下标表示对应的字符。

     1 #include <stdio.h>
     2 #include <string.h>
     3 
     4 
     5 //要统计的字符串
     6 char *s = "aaffcsdf23aaaaa41678hjjmrfaaaaa";
     7 
     8 
     9 int main(void)
    10 {
    11     int len,i;
    12     int char_count;
    13     char c;
    14     //字符串中每个字符出现的次数,最多能表示128种字符(7位ASCII码)
    15     char times[128]={0};
    16 
    17     char_count = 0;
    18     //字符串长度
    19     len= strlen(s);
    20 
    21     //统计字符串各个字符出现的次数
    22     for(i=0;i<len;i++)
    23         times[s[i]]++;
    24 
    25     //找出出现次数最多的那一个字符
    26     for(i=0;i<128;i++)
    27     {
    28         if(times[i]>char_count)
    29         {
    30             char_count = times[i];//出现次数,始终保存当前出现次数的最大值
    31             c = (char)i;//是哪一个字符
    32         }
    33     }
    34 
    35     printf("出现最多的字符是:%c ,出现的次数为:%d次\n",c,char_count);
    36 
    37     return 0;
    38 }

    运行结果:

  • 相关阅读:
    模板层
    视图层
    网络编程
    面向对象的三大特性之继承
    面向对象的三大特性之封装
    面向对象的属性和方法
    面向对象编程
    垃圾回收机制
    re模块、正则表达式
    模块之hashlib、hmac、configparser、subprocess、xlrd、xlwt、xml
  • 原文地址:https://www.cnblogs.com/lknlfy/p/2860769.html
Copyright © 2020-2023  润新知