用VS2005 C# 编写 题目是:输入一串字符,请计算出字母的个数,数字的个数,其它字符的个数
用VS2005C#编写用数组的形式写题目是:输入一串字符,请计算出字母的个数,数字的个数,其它字符的个数谢谢各位大哥哥大姐姐帮忙...
用VS2005 C# 编写 用数组的形式写 题目是:输入一串字符,请计算出字母的个数,数字的个数,其它字符的个数 谢谢各位大哥哥大姐姐帮忙
展开
1个回答
展开全部
/* 楼上的写的是ASCII方法,我再补上正则法(这种比较简单,代码少,逻辑也直接),另外ASCII我也重新写一遍外加上注释,望楼主参考。 根据楼主的意思,我估计楼主刚开始学C#,那么不应该是用楼上网站的方式进行演示,当然这只是表现形式,但我还是以正常点的方式写成控制台版的吧,若楼主需要其它版本也可与我联系。 */ namespace Demo { class Program { static void Main(string[] args) { Console.WriteLine("请输入一串字符:"); string input = Console.ReadLine(); //获取输入 int alphabet=0, number=0, other; //定义字母,数字,其它字符计数器 //遍历输入字符串中的每个字符,以计算各种类型(字母,数字等)的具体数量 foreach (char c in input) { ////方法一:比较字符ASCII码,ASCII码表: http://baike.baidu.com/image/f6428f8f7c5d36e9503d9262 ////若c的ASCII码在48(代表0)到57(代表9)之间则为数字计数器加1 //if (c >= 48 && c <= 57) { // number++; //} ////若不是数字,继续判断是否为字母类型,97~122为小写a~z,65~90为大写A~Z //else if (c >= 97 && c <= 122 || c >= 65 && c <= 90) { // alphabet++; //} //方法二:正则表达式判断法,这个比较简单了,楼上的写了ASCII的方法,我就把那个注了 if (new System.Text.RegularExpressions.Regex("^[0-9]+$").IsMatch(c.ToString())) { number++; } else if (new System.Text.RegularExpressions.Regex("^[A-Za-z]+$").IsMatch(c.ToString())) { alphabet++; } //方法三:你可以用int.TryParse也可以进行数字的判断, } other = input.Length - alphabet - number; //其它字符数=总数-字母个数-数字个数 Console.WriteLine(string.Format("\n统计结果如下:\n-----------------------------------------------\n总字符{0}个,其中含:字母{1}个 数字{2}个 其它字符{3}个",input.Length,alphabet,number,other)); Console.WriteLine("请按任意键退出..."); Console.ReadKey(false); } } }
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询