统计任意字符串中各个字符出现的次数

/*
输入一个任意数如451215,输出重复出现数字的次数,比如输出 5重复了2次 1重复了2次 20分
用字符串数组存储这个任意数
然后用指针遍历这个字符串
数据记录在一个结构体数组中,结构体有字符和出现次数两个数据成员
难点:被记录的数下次遍历的时候要跳过,我的方法是将其标记为*,下次监测到便跳过
只需要从前向后遍历即可,前面的数一定会将后面的数“合并”掉
*/

#include <iostream>
int characterCount( char* p)  //p指向这个字符串数组,即p为字符串数组名
{
    int Len = 0; //先计算出这个字符串的长度(不算\0后的长度)即字符个数
    while( p[Len]!='\0' )
    {
        Len++;
    }

    struct countNode
    {
        char character;
        int appearTimes;
    };
    countNode structArr[Len]= { {'*',0} }; //结构体数组记录字符和其出现的次数

    int reNumSum = 0; //reNumSum为有重复字符的个数
    for ( int i=0; i<=Len-1; i++)
    {
        if( p[i] == '*' )
        {
            continue;<

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值