字符個數統計

一、題目描述

編寫一個函數,計算字符串中含有的不一樣字符的個數。字符在ACSII碼範圍內(0~127)。不在範圍內的不做統計。
ios

輸入描述:
算法

輸入N個字符,字符在ACSII碼範圍內(0~127)。函數

輸出描述:
spa

輸出字符的個數。code

輸入例子:
ci

abc

輸出例子:
字符串

3

二、算法

方案一

/*編寫一個函數,計算字符串中含有的不一樣字符的個數。字符在ACSII碼範圍內(0~127)。不在範圍內的不做統計*/
//輸入描述:輸入N個字符,字符在ACSII碼範圍內(0~127)
//輸出描述:輸出字符的個數 #include<iostream>
 
using namespace std;
 
int main(){
    char ch;
    int arr[128]={0};
    int count=0;
    while(cin>>ch){
        if(ch>=0 && ch<=127){
            arr[ch]++;
        }
    }
    for(int i=0;i<128;i++){
        if(arr[i]>0)
            count++;
    }
    cout<<count<<endl;
    return 0;
}


方案二

/*C++
輸入字符,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;
}


方案三

#include<iostream>
#include<string>
#include<map>
using namespace std;
int main()
{
   string s;
   int num=0;
   map<char,int> str;
   while(cin>>s)
   {
       for(int i=0;i<s.length();i++)
       {
           if((s[i]<=127)&&(s[i]>=0))
           {
              str.insert(pair<char,int>(s[i],1));
           }
           else
           {
              continue;
           }
       }
       cout<<str.size()<<endl;
   }
    return 0;  
}
相關文章
相關標籤/搜索