gpt4 book ai didi

c++ - 如何找到出现次数最多的字母? C++

转载 作者:行者123 更新时间:2023-12-02 09:47:40 25 4
gpt4 key购买 nike

我必须编写一个程序,在该程序中需要找到字母的最多出现

 string sen;
int counter = 0;
char letter = '\0';

for(int i = 0; i < 100; i--){
cin >> sen;
if(sen == "quit"){
i = 101;
}else{
for(int x = 0; x<sen.length(); x++){
if(sen[x] == letter){
counter ++;
}
cout << letter << "=" << counter;
}
}
}
我知道这不是正确的方法,但是你们是否知道有什么语法可以将 字母转换为最常用的字母?

最佳答案

您可以使用简单的数组映射(如果使用char字符串):

#include <algorithm>
#include <iostream>
using namespace std;

int main()
{
int count[256] = { 0 };

string sen;
for (int i = 0; i < 100; ++i) {
cin >> sen;
if (sen == "quit") {
i = 101;
}
else {
for (auto c : sen)
++count[static_cast<unsigned char>(c)];
}
}

for (int i = 0; i < 256; ++i)
{
if (count[i])
cout << static_cast<char>(i) << " : " << count[i] << endl;
}

auto cmax = static_cast<int>(
distance(begin(count),
max_element(begin(count), end(count))));
cout << "Max Frequent: " << static_cast<char>(cmax) << " : " << count[cmax] << endl;

return 0;
}

关于c++ - 如何找到出现次数最多的字母? C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64221847/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com