我为为什么输入程序名称而得到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/

10-13 04:31