我为为什么输入程序名称而得到25岁的收入感到困惑。应该算元音,上次我检查追逐时只有2个。这也是picture of assignment。
/* Program : Ch5Ex12a - CountVowels
* Programmer : Chase Mitchell
* Date : 11/18/2015
* Description : User's vowels are counted
*/
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace Ch5Ex12a
{
class Program
{
static void Main(string[] args)
{
int bacon=0;
string Phrase;
Console.WriteLine("Enter in letters");
Phrase = Console.ReadLine();
foreach (char a in Phrase)
bacon += 1;
foreach (char e in Phrase)
bacon += 1;
foreach (char i in Phrase)
bacon += 1;
foreach (char o in Phrase)
bacon += 1;
foreach (char u in Phrase)
bacon += 1;
Console.WriteLine(bacon);
Console.ReadKey();
}
}
}
最佳答案
foreach (char a in Phrase)
bacon += 1;
您认为这有什么用?这不会遍历
'a'
中的所有Phrase
字符。相反,它将遍历Phase
中的所有字符并对其进行计数。只是将在每次迭代中分配给每个字符的变量名称称为a
。但这与内容无关。您尝试执行以下操作:
foreach (char c in Phrase)
{
if (c == 'a' || c == 'e' || c == 'i' || c == 'o' || c == 'u')
bacon += 1;
}
您还应该检查大写字符。显式地或首先将
Phrase
转换为小写形式。您可以通过循环Phrase.ToLower()
而不是Phrase
来实现。关于c# - 我不知道下一步元音柜台该怎么办,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33781249/