求c#程序:一个文件中,把每一个单词都分割出来,并统计单词的总数和每个单词出现的次数,并将这些单词排序

程序基于c#windows应用程序单词拆分——Split();统计排序——SortedList;显示——枚举器、列表框... 程序基于 c# windows 应用程序
单词拆分——Split();
统计排序——SortedList;
显示——枚举器、列表框
展开
 我来答
JimiXu
2009-12-29 · TA获得超过410个赞
知道小有建树答主
回答量:1010
采纳率:0%
帮助的人:0
展开全部
1L写的不对,他要求的是单词,不是字符
//调用
Stats("hello,nice to meet you,hello,i say good bye to you");

//函数创建
protected void Stats(String article)
{
MatchCollection mc = Regex.Matches(article, @"\b\w+\b");
Response.Write("总数:"+mc.Count+"<br/>");
Dictionary<String, int> dct = new Dictionary<String, int>(mc.Count);
foreach(Match mt in mc)
{
if (dct.ContainsKey(mt.Value))
{
dct[mt.Value]++;
}
else
{
dct.Add(mt.Value,1);
}
}
dct = dct.OrderBy(i => i.Key).ToDictionary(c => c.Key, c => c.Value);

//输出结果
foreach (KeyValuePair<String,int> de in dct)
{
Response.Write(de.Key+":"+de.Value+"<br/>");
//换成Writeline输出,如果是WinForm
}
}
----------结果------------
总数:12
bye:1
good:1
hello:2
i:1
meet:1
nice:1
say:1
to:2
you:2
-------------------------------
很清晰了吧,难道读文件跟显示都不会?
-------------------------------
作业的话自己做吧,我只负责解决问题
孤阳雄Q
2009-12-29 · TA获得超过239个赞
知道小有建树答主
回答量:219
采纳率:0%
帮助的人:293万
展开全部
忘了,总数没算哈,加上:
int sum = 0;//单词总数
private Dictionary<char, int> Statistic(string article)
{
sum = article.Length;
Dictionary<char, int> dic = new Dictionary<char, int>();//记录不同字符出现的个数
foreach (char a in article)
{
if (!dic.ContainsKey(a))
dic.Add(a, 1);
else
dic[a] = dic[a] + 1;
}

return dic;
}
排序可以有很多方法的,下面用冒泡法:
Public Dictionary<char, int> Maopao(Dictionary<char, int> dic_m)
{
For(int i=0;i<dic_m.Keys.Count;i++)
{
For(int j=0;j<dic_m.Keys.Count-1-i;j++)
{
if(dic_m[j]<dic_m[j+1])
{
Int temp=dic_m[j];
dic_m[j]=dic_m[j+1];
dic_m[j+1]=temp;
}
}
}
return dic_m;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nature_126
2009-12-29 · 超过33用户采纳过TA的回答
知道答主
回答量:208
采纳率:0%
帮助的人:71.1万
展开全部
Big_fox 正解
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
雪漫山
2009-12-29 · TA获得超过234个赞
知道小有建树答主
回答量:365
采纳率:0%
帮助的人:155万
展开全部
呃,顶2楼的
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 2条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式