You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

C#字符串函数应用:如何修改代码实现各元音字母的单独计数

C#元音字母分个数统计修改方案

核心修改点

  • 替换原有仅存储总元音数的vow变量,改用Dictionary<char, int>字典结构,直接存入5个元音字母作为键,初始计数都设为0,同时可以替代原有HashSet的元音判断功能
  • 循环遍历输入字符串时,匹配到元音字符后直接给对应键的计数值+1,不再累加总计数
  • 输出环节遍历字典即可逐个打印每个元音字母的统计结果,如需总计数可直接对字典所有值求和

修改后完整代码

using System;
using System.Collections.Generic;
// 如需使用Sum方法计算总计数,需引入以下命名空间
using System.Linq;

namespace VowelCount
{
    class Program
    {
        static void Main(string[] args)
        {
            string name;
            // 初始化元音计数字典
            var vowelCount = new Dictionary<char, int>
            {
                {'a', 0},
                {'e', 0},
                {'i', 0},
                {'o', 0},
                {'u', 0}
            };

            Console.Write("Input characters:");
            name = Console.ReadLine().ToLower();

            for (int k = 0; k < name.Length; k++)
            {
                char current = name[k];
                if (vowelCount.ContainsKey(current))
                {
                    vowelCount[current]++;
                }
            }

            // 逐个输出每个元音的统计结果
            foreach (var countItem in vowelCount)
            {
                Console.WriteLine("No. of '{0}': {1}", countItem.Key, countItem.Value);
            }
            // 输出总元音数,不需要可以删除
            int total = vowelCount.Sum(x => x.Value);
            Console.WriteLine("Total No. of vowels: {0}", total);

            Console.WriteLine("Press any key to continue...");
            Console.ReadKey(true);
            Console.ReadLine();
        }
    }
}

如果不想引入Linq命名空间,也可以在遍历字典输出的时候累加得到总计数,不需要额外调用Sum方法。

内容的提问来源于stack exchange,提问作者RUSSEL GUERRERO

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.23 23:45:09