计算字符串中某一个字符的个数

    xiaoxiao2021-03-25  103

    第一种解法: 注意读数据用的是:getline 大写A是65,小写a是97;

    #include<iostream> #include<string> using namespace std; int main() { string line; getline(cin,line); char a; cin>>a; char a1; if(a>=97&&a<=128) a1=a-32; int size=0; for(int i=0;i<line.size();i++) { if(line[i]==a||line[i]==a1) size++; } cout<<size<<endl; return 0; }

    第二种解法: map 注意点 map

    #include<iostream> #include<string> #include<map> using namespace std; int main() { string line; getline(cin,line); char a; cin>>a; char a1; if(a>=97&&a<=128) a1=a-32; map<char,int>counts; for(int i=0;i<line.size();i++) { counts[line[i]]++; } cout<<(counts[a]+counts[a1])<<endl; return 0; }

    第三种: 用getchar()

    #include<iostream> #include<map> using namespace std; int main(0 { map<char,int>words; char ch; while(ch=getchar()) { if(ch=='\n') break; else words[ch]++; } cin>>ch; cout<<words[ch]<<endl; return 0; }
    转载请注明原文地址: https://ju.6miu.com/read-21920.html

    最新回复(0)