急!!!用C++编写输入一个字符串,统计其中各字母出现的次数。统计时不分大小写。

2025-01-04 00:06:13
推荐回答(3个)
回答1:

#include
#include
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 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< }
}
return 0;
}
程序如上:c++编写
主要利用一个数组
int num[26],表示26个字母出现的次数,下标对应相应字母。0-a,1-b....
然后用循环统计就可以了
string data.中存储的是要统计字符串
最后输出结果。

回答2:

#include
#include

using namespace std;

int main()
{
string str;
char ch;
int num;
cin>>str;
cout< vector cvec;
vector ivec;
vector::iterator found;
for(int i=0;i {
num=0;
ch=str.at(i);
found=find(cvec.begin(),cvec.end(),ch);
if(found==cvec.end())
{
for(int j=0;j {
if(ch==str.at(j))
num++;
}
cvec.push_back(ch);
ivec.push_back(num);
}
}

for(int i=0;i {
cout< }
getchar();
system("pause");
return 0;
}

没时间写注释,不难,你自己好好看看吧

回答3:

无分无答案。。。。