题目描述
编写一个函数,计算字符串中含有的不同字符的个数。字符在ACSII码范围内(0~127)。不在范围内的不作统计。
输入描述
输入N个字符,字符在ACSII码范围内。
输出描述
输出范围在(0~127)字符的个数。
示例
输入:abc
输出:3
思路
本题统计在ASCII码(0~127)范围内字符出现的次数,则一共可能有128种字符出现,设置长度为128的全零整型数组,遍历输入字符串中每一个字符,并将字符位置处的元素值置1,遍历结束后将该整型数组的元素值相加即可获得输入字符串中不同字符的个数。
#include <iostream>
#include <string>
using namespace std;
int main(){
string input;
while(getline(cin,input)){
int arr[128]={0};
for(int i=0;i<input.size();i++){
if(input[i]>=0 && input[i]<=127){
arr[input[i]]=1;
}
}
int result=0;
for(int i=0;i<128;i++){
result=result+arr[i];
}
cout<<result<<endl;
}
return 0;
}