我很难解决这个问题。我尝试编写一个程序,显示每个字符出现在句子中的次数。 例如:,,你好"
h-1次
e-1次
l-2次
o-1次
这是我的想法:
ldr r0,=0xEFFFFFF2
但是我的计数器没有正常工作,我也不知道如何修复它。
答案 0 :(得分:1)
在每个循环迭代中放置counter = 0
:
for (int i = 0; i < strlen(sentence); i++) {
counter = 0
for (int j = 0; j < strlen(sentence); j++) {
if (letters[j]==sentence[i]) {
counter++;
cout << letters[j] << " occurs " << counter << " in the sentence" << endl;
}
}
}
这是工作,但更好,只需使用地图:
char sentence[100] = "";
cin.getline(sentence, 100);
map<char, int> counter;
int len = strlen(sentence);
for (int i = 0; i < len; i++){
counter[sentence[i]]++;
}
for (map<char,int>::iterator it = counter.begin(); it != counter.end(); it++){
cout << it->first << " occurs " << it->second << " in the sentence" << endl;
}
为此你应该#include <map>