题解 | #字符个数统计#

字符个数统计

http://www.nowcoder.com/practice/eb94f6a5b2ba49c6ac72d40b5ce95f50

#include <stdlib.h>
#include <stdio.h>
#include <string.h>

#define SIZE_INT(arr)       sizeof(arr)/sizeof(int)

void str_ch_count(char* str,int len)
{
    //创建一个长度128的数组,即可以访问0~127下标。
    int no_repeaat_ch[128] = {0};
    int ch_index = 0;
    for(int i = 0;i < len;i++)
    {
        //用数组下标存字符,可以做到去除重复字符的效果,然后数组下标对应的数据置一个标志,用于后面遍历
        ch_index = *(str+i);
        no_repeaat_ch[ch_index] = 1;
    }
    int count = 0;
    for(int i = 0;i < SIZE_INT(no_repeaat_ch);i++)
    {
        //遍历数组,找标志位,有多少个标志位,就有多少个不同的字符
        if(no_repeaat_ch[i] == 1)
            count++;
    }
    printf("%d",count);
}

int main()
{
    char str[500] = {0};
    gets(str);
    str_ch_count(str,strlen(str));

    return 0;
}
全部评论

相关推荐

头像
11-18 16:08
福州大学 Java
影流之主:干10年不被裁,我就能拿别人一年的钱了,日子有盼头了
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务