题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
示例1
输入
abc
输出
3
这里提供两种方法,一种是数组标记法,另一种则更巧妙,利用set容器的不重复性来统计。
#include<bits/stdc++.h>
using namespace std;
int flag[128];
int main()
{
string str;
int cnt=0;
getline(cin,str);
for(int i=0;i<str.size();i++)
{
flag[str[i]]++;
}
for(int i=0;i<128;i++)
{
if(flag[i])
cnt++;
}
cout<<cnt<<endl;
return 0;
}
链接:https://www.nowcoder.com/questionTerminal/eb94f6a5b2ba49c6ac72d40b5ce95f50
来源:牛客网
输入字符,ascii值在[0,127]时插入集合set中,输出set中的元素个数。*/
#include<iostream>
#include<set>
using namespace std;
int main()
{
char c;
set<char> s;
while(cin>>c){
if(c>=0 && c<=127){
s.insert(c);
}
}
cout << s.size() <<endl;
}