zoukankan      html  css  js  c++  java
  • 某字符串可能包含26个英文字母,可能包含6种符号,可能包含3个数字,统计他们出现的个数

     1 #include <stdio.h>
     2 /*
     3 题目:某字符串可能包含26个英文字母,可能包含6种符号,可能包含3个数字,统计他们出现的个数
     4 解题思路:26个英文字母在ASCII表中是连续的,符号::,?!.< 这些符号在ASCII表中不是连续的。 数字:1 3 9 在ASCII表中也不是连续的。
     5           那么可以自己定义一个表,让他们是连续的,然后提取字符串中的元素和表中的元素对比即可,如果相同,那么统计个数的数组元素++
     6 */
     7 int main(void)
     8 {
     9     char arr[35] = {'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z','1','3','9',';',',','?','!','.','<'};
    10 
    11     char *ptr = "dasdjqowidnzx,cnaks fdhq<weas!ajdlkasdajsl fl;asjdfljsdf1 ;3.9??";
    12     int arr1[35] = {0};
    13 
    14     int i;
    15 
    16     while(*ptr)
    17     {
    18         for(i = 0;i<35;i++)
    19         {
    20             if(*ptr == arr[i])
    21                 arr1[i]++;
    22         }
    23         ptr++;
    24     }
    25 
    26     for(i = 0;i<35;i++)
    27     {
    28         printf("%c有%d个
    ",arr[i],arr1[i]);
    29     }
    30 
    31     
    32 
    33     return 0;
    34 }
  • 相关阅读:
    网络之传输层
    局域网的物理组成
    网络基础
    RAID磁盘阵列
    mount挂载和交换分区swap
    Linux文件系统
    sed命令基础2
    sed命令基础
    LVM基础
    磁盘配额基础
  • 原文地址:https://www.cnblogs.com/wangchaomahan/p/9527762.html
Copyright © 2011-2022 走看看