题目:
描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。多个相同的字符只计算一次
例如,对于字符串abaca而言,有a、b、c三种不同的字符,因此输出3。
输入描述:
输入一行没有空格的字符串。
输出描述:
输出范围在(0~127)字符的个数。
示例1
输入:
复制代码
1abc
复制输出:
复制代码
13
结果:
解题思路:
将每个字符的acsii码作为哈希表的索引。
如果哈希表中该位置的值为0,说明是第一次遇到。count+1。哈希表对应的值+1用于表示出现过。
代码:
复制代码
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18#include <stdio.h> int main() { int acsii[128] = {}; char chr; int count = 0; while(scanf("%c", &chr) != EOF) { if(chr == 'n') { break; } if(acsii[(int)chr] == 0) { count++; acsii[(int)chr]++; } } printf("%dn", count); return 0; }
最后
以上就是正直面包最近收集整理的关于C练题笔记之:牛客-HJ010.字符个数统计题目:结果:解题思路:代码:的全部内容,更多相关C练题笔记之:牛客-HJ010内容请搜索靠谱客的其他文章。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复