【发布时间】:2017-04-08 15:32:14
【问题描述】:
我正在尝试破译一个句子。对于找到的每个单词,我都想在计数器中添加一个。我有一个嵌套的 for 循环,当用户在句子中键入时,一个 for 循环将循环通过句子(int i = 0),另一个(int j = 0)将循环通过数组,当他们找到对应的字母。我认为我所做的事情是有道理的,但由于某种原因它不起作用。这是我处理本节的代码片段。提前谢谢你:)
#include <iostream>
#include <string>
#include <cctype>
using namespace std;
string alphebet[26] = {"A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"};
string sentence;
cin >> sentence;
for(int i = 0; i < sentence.length(); i++){
for(int j = 0; j < alphebet; j++){
if (sentence[i] == alphebet[j]){
counter_letters = counter_letters + 1;
}
}
}
【问题讨论】:
-
请查看minimal reproducible example。你的问题是什么? “它不工作”没有通知,所以我们无能为力。
-
j从0到alphabet,你可能想要0到26 -
有一个
isupper函数:linux.die.net/man/3/isupper