C/C++编程题之字符个数统计

将之前一段时间在牛客上刷的题给大家分享一下。其中一道题是“字符个数统计”,现在将通过的代码贴一下,供大家参考。

编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次

例如,对于字符串abaca而言,有a、b、c三种不同的字符,因此输出3。

#include <stdlib.h>
#include <stdio.h>
#include <string.h>
int getasccount(char * inputstream)
{
    int len = strlen(inputstream);
    int i = 0;
    int j = 0;
    char ascstr[127]={0};
    for(i=0;i<len;i++)
    {
        if(inputstream[i]==0) break;
        if(inputstream[i]!='\n' && inputstream[i]!=0x0a && inputstream[i]!=0x0d)
        {
           if(inputstream[i]>=0 && inputstream[i]<=127)
           {
               ascstr[inputstream[i]]++;
           }         
        }
    }
    for(i=0;i<127;i++)
    {
        if(ascstr[i]>0)
            j++;
    }
    return j;
};
int main()
{
    char inputstream[1000]={0};
    //fgets(inputstream,sizeof(inputstream),stdin);
    scanf("%s",inputstream);
    int count = getasccount(inputstream);
    printf("%d",count);
}

猜你喜欢

转载自blog.csdn.net/lzyzuixin/article/details/111387486
今日推荐