华为机试HJ10-字符个数统计
1.题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次 输入 abaca 输出 3
2.输入描述:
输入N个字符,字符在ACSII码范围内。
3.输出描述:
输出范围在(0~127)字符的个数。
4.示例1
输入
abc
输出
3
5.代码
1.统计字符串的个数,使用gets()函数 2.temp[str[i]] = 1,去重; 3.统计数组为1的个数。
#include <stdio.h>
#include <stdio.h>
#include <string.h>
int main(void)
{
char str[1000];
int temp[128] = {
0 };
int len, num = 0;
gets(str);
len = strlen(str);
for (int i = 0; i < len; i++)
{
if (str[i]>=0 && str[i]<=128 )
{
temp[str[i]] = 1;
}
}
for (int i = 0; i < 128; i++)
{
if (temp[i]==1)
{
num++;
}
}
printf("%d", num);
return 0;
}
