黑马程序员技术交流社区
标题:
经典面试题 让你输出一个字符串中字母的出现次数
[打印本页]
作者:
ww448483689
时间:
2013-8-12 23:11
标题:
经典面试题 让你输出一个字符串中字母的出现次数
//输出里面每个字母出现的字数 关键字 键值集合
string str = "a bcdfs wq ads";
Dictionary<char,int> check=new Dictionary<char,int>();
for (int i = 0; i <str.Length; i++)
{
if (str[i]==' ')//因为给出的字符串中有空格,当程序运行到空格时,就不再执行下面的代码进行下一次循环
{
continue;
}
if (check.ContainsKey(str[i]))//如果前面遇到过
{
check[str[i]] += 1;//那么次数就加1
}
else
{
check[str[i]] = 1;//如果没有就把这个值绑定到这个键上,是键值集合中的另外一种赋值方式
}
}
foreach (KeyValuePair<char,int> item in check)
{
Console.WriteLine("这个字母{0}出现的次数是{1}",item.Key,item.Value);
}
Console.ReadKey();
作者:
彭家贰小姐
时间:
2013-8-12 23:30
谢谢分享
作者:
李波
时间:
2013-8-12 23:38
还用用到 Dictionary了?
static void Main(string[] args)
{
Console.WriteLine("输入一个字符串:");
string str = Console.ReadLine().ToLower();//定义接收一个字符字符串,全部转换成小写字母
for (int i = 0; i < str.Length;i++)//循环截取字符串中的char字符
{
if(str[i]!=' '){//判断是否为空
int count = 0;//定义出现次数的变量
for (int j = 0; j < str.Length; j++) //循环比较
{
//查出相同的计数加一次
if(str[i]==str[j])
count++;
}
Console.WriteLine(str[i]+" "+count);//输出字出现的次数
str = str.Replace(str[i],' ');//把判断过的字符替换成空格
}
}
Console.ReadKey();
}
欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/)
黑马程序员IT技术论坛 X3.2