将之前一段时间在牛客上刷的题给大家分享一下。其中一道题是“字符个数统计”,现在将通过的代码贴一下,供大家参考。
编写一个函数,计算字符串中含有的不同字符的个数。字符在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); }