【发布时间】:2020-03-24 08:51:21
【问题描述】:
当用户输入 10 个字母时,程序应该知道其中有多少是元音。我写了这段代码:
while (count<10)
{
cin >> n;
count++;
if (n == 'A' || n == 'a' && n == 'E' || n == 'e' && n == 'I' || n == 'i' && n == 'O' || n == 'o' && n == 'U' || n == 'u')
{
total++;
}
}
cout << total << endl;
即使用户输入了元音,这也会产生 0 的输出。有什么问题吗?
【问题讨论】:
-
用
||替换&& -
将所有
&&替换为||。还有n的类型是什么?提供minimal reproducible example。 -
您的代码检查一个字符是否同时是所有五个元音!
-
请按字面意思阅读:没有字符可以是
A或a和E或e和...输出0 显然是任何输入的正确答案. ;-) -
@n314159 抱歉,我有这样的想法,如果我把 || (或)在那里,它只会检查第一个条件,并将 A/a 添加到总数中,而不检查其余条件。
标签: c++