#include <iostream>#include <string>using namespace std;int num[26];//从0到25分别对应a到z出现的次数。int main(){ string data; int index=-1; char c; cin>>data;//输入字符串 //统计出现次数 for(int i=0;i<data.size();i++) { if(data[i]>='a'&&data[i]<='z') index=data[i]-'a'; else if(data[i]>='A'&&data[i]<='Z') index=data[i]-'A'; if(index!=-1) num[index]++; index=-1; } for(int j=0;j<26;j++)//输出 { if(num[j]!=0) { c='a'+j; cout<<c<<"出现的次数:"<<num[j]<<endl; } } return 0;}程序如上:c++编写主要利用一个数组int num[26],表示26个字母出现的次数,下标对应相应字母。0-a,1-b....然后用循环统计就可以了string data.中存储的是要统计字符串最后输出结果。
#include<iostream>#include<vector>using namespace std;int main(){ string str; char ch; int num; cin>>str; cout<<str<<endl; vector<char> cvec; vector<int> ivec; vector<char>::iterator found; for(int i=0;i<str.length();i++) { num=0; ch=str.at(i); found=find(cvec.begin(),cvec.end(),ch); if(found==cvec.end()) { for(int j=0;j<str.length();j++) { if(ch==str.at(j)) num++; } cvec.push_back(ch); ivec.push_back(num); } } for(int i=0;i<cvec.size();i++) { cout<<cvec.at(i)<<" "<<ivec.at(i)<<endl; } getchar(); system("pause"); return 0; }没时间写注释,不难,你自己好好看看吧