题解 | #字符个数统计#

字符个数统计

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

解题思路:

创建0~128字符的字典,里面包含字符和字符是否出现过的标志位

lib[128][2] [x][0]存字符,[x][1]存字符是否出现过的标志位(未出现为0,出现为1)

#include <stdio.h>
#include <string.h>
int main() {
    int lib[128][2]={0};
    int i=0,num=0,j=0,S_num=0;
    int arry[500]={'\0'};
    for(i=0;i<128;i++)
    {
        lib[i][0]=i;
    }
    i=0;
    while(scanf("%c",&arry[i])!=EOF)//scanf非空就继续
    {
        if(arry[i]=='\n')//遇到换行符就继续
        {
            break;
        }
        i++;
    }
    S_num=i;//接受的字符串长度
    for(i=0;i<S_num;i++)
    {
        for(j=0;j<128;j++)
        {
            if(lib[j][0]==arry[i])//判断字符是否在字典中
            {
                if(lib[j][1]==1)//判断字符是否出现过,如果出现就跳出循环
                {
                    break;
                }
                else{//字符没有出现,对应标志位置1,计数变量自增1
                    lib[j][1]=1;
                    num++;
                }
            }
        }
    }
    printf("%d",num);//输出计数变量的值
    return 0;
}

全部评论

相关推荐

微风不断:兄弟,你把四旋翼都做出来了那个挺难的吧
点赞 评论 收藏
分享
11-15 17:19
湖南大学 Java
成果成果成果果:这是哪个公司的hr,这么离谱吗,我没见过用性别卡技术岗的,身边女性同学拿大厂offer的比比皆是
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务