黑马程序员技术交流社区
标题:
求一个字符串中各个字符出现的次数
[打印本页]
作者:
黄冉
时间:
2012-11-20 07:53
标题:
求一个字符串中各个字符出现的次数
<p>using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;</p><p>namespace test9
{
class Program
{
</p><p>
static void Main(string[] args)
{
Console.WriteLine("输入一段字符串:");
string str = Console.ReadLine();
str = str.ToLower();
Dictionary<char,int> dic=new Dictionary<char,int>();
for(int i=0;i<str.Length;i++)
{
if (!dic.ContainsKey(str[i]))//如果字典中没有这个字符则将这个字符加入字典中
{
dic.Add(str[i], 1);
}
else//如果字典中存在这个字符,则个数+1
{
dic[str[i]]++;
}
}
foreach (KeyValuePair<char,int> kv in dic)
{
Console.WriteLine("字符{0}出现{1}次", kv.Key, kv.Value);
}
Console.ReadKey();
}
}
}</p>
复制代码
作者:
许庭洲
时间:
2012-11-20 20:01
值得学习ing!
作者:
吴步兵
时间:
2012-11-21 12:47
//找出一句话中字母“e”出现的个数
string strs = Console.ReadLine();
//方法一
string[] words = strs.Split(new char[] {'e'}, StringSplitOptions.RemoveEmptyEntries);
Console.WriteLine("您刚才输入的话中字母“e”出现的次数为:{0}",words.Length-1);
Console.WriteLine("每次出现的位置分别为:");
int pos = 0;
for (int i = 0; i < words.Length-1; i++)
{
pos += words[i].Length+1;
Console.WriteLine("第{0}次出现的位置为{1}",i+1,pos);
}
//方法二
int posi = 0,count = 0;
while (posi <= strs.LastIndexOf('e'))
{
if (strs.IndexOf('e') > 0)
{
posi = strs.IndexOf('e', posi) + 1;
count++;
}
Console.WriteLine("第{0}此出现的位置为:{1}",count,posi);
}
Console.WriteLine("一共出现了{0}次", count);
复制代码
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2