题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127),换行表示结束符,不算在字符里。不在范围内的不作统计。
输入描述:
输入N个字符,字符在ACSII码范围内。
输出描述:
输出范围在(0~127)字符的个数。
示例1
输入
abc
输出
3
#include<iostream>
#include<stdio.h>
#include<string>
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]]++;//去重,将ACSII码范围内的字符全部加1
}
for (int i = 0; i<128; i++)
{
if (flag[i])
cnt++; //将flag[]数组中值为1的依次输出,即得到不重复的字符个数
}
cout << cnt << endl;
system("pause");
return 0;
}