加载中…
个人资料
  • 博客等级:
  • 博客积分:
  • 博客访问:
  • 关注人气:
  • 获赠金笔:0支
  • 赠出金笔:0支
  • 荣誉徽章:
正文 字体大小:

(c#)给定字符串中字母出现次数的统计方法

(2008-12-14 16:16:33)
标签:

c

字母

字符串

频次

统计

it

分类: C#

首先我没有考虑统计算法,而是想怎么用c#中较为简单的方法去实现。考虑到C#中字符串类String的方法

Split,通过测试确实能完成字母的频次统计以下是源码。

        private void button3_Click(object sender, EventArgs e)
        {
            String CharStrArray
="";
           
int[] t=new int[26];
            GetCharCount(textBox1.Text, 
ref CharStrArray,ref t) ;
            String strTemp
="";
           
for (int i = 0; i < CharStrArray.Length; i++)
            {
                strTemp
+= CharStrArray[i].ToString()+":"+t[i].ToString()+" ";
            }
            textBox2.Text
= strTemp;

        }
       
private void GetCharCount(String SourceStr, ref String CharStrArray,ref int []CharCount)
        {
            SourceStr
= SourceStr.ToLower();
            StringBuilder CharStr
=new StringBuilder("");
           
for (int i = 0; i < SourceStr.Length; i++)
            {
               
if(SourceStr[i].ToString()!=" "&&(!CharStr.ToString().Contains(SourceStr[i].ToString())))
                {
                    CharStr.Append(SourceStr[i]);
                }
            }
            CharCount
=new int[CharStr.Length];
           
for (int j = 0; j < CharStr.Length; j++)
            {
                CharCount[j]
= SourceStr.Split(new Char[] { CharStr[j]}).Length - 1;
            }
            CharStrArray
= CharStr.ToString();
        }

 

当textBox1.Text输入为:beijing huanying ni
textBox2.Text输出为:b:1 e:1 i:4 j:1 n:4 g:2 h:1 u:1 a:1 y:1

但是对于本问题,应该有更好的统计算法,有兴趣可以研究一下。 

 

0

阅读 收藏 喜欢 打印举报/Report
  

新浪BLOG意见反馈留言板 欢迎批评指正

新浪简介 | About Sina | 广告服务 | 联系我们 | 招聘信息 | 网站律师 | SINA English | 产品答疑

新浪公司 版权所有