题解 | #字符个数统计#
字符个数统计
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;
}