| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1752 人关注过本帖
标题:[求助]输入字符串输出每个字母出现的次数
只看楼主 加入收藏
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
 问题点数:0 回复次数:7 
[求助]输入字符串输出每个字母出现的次数
希望和大家讨论一下,c#代码如何编写,多谢.

从命令行输入一个以英文小写字母所构成的字符串,
输出每一个字母出现的次数。
判断字符串中是否包含非小写字母的字符出现,
如果包含,提示用户重新输入。
搜索更多相关主题的帖子: 字母 字符 输出 输入 
2005-12-04 13:54
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 

请大家帮忙看一下

static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序

string str;
int i,j,flag;
flag=1;

Console.Write("please a string:");
str=Console.ReadLine();

while(flag==1)
{
for(i=0;i<str.Length;i++)
if((int)str[i]<97 || (int)str[i]>122)
{
Console.WriteLine("please a new string again:");
str=Console.ReadLine();
continue;
}
if(i>=str.Length)
flag=0;

}
从这里开始,可否改进:

int[] strNumFlag=new int[str.Length];
bool[] strFlag=new bool[str.Length];

for(i=0;i<str.Length;i++)
strFlag[i]=true;

for(i=0;i<str.Length;i++)
{
for(j=i;j<str.Length;j++)
if((str[i]==str[j]) && strFlag[j])
{
strNum[i]=strNum[i]+1;
//strNum[j]=strNum[i];
strFlag[i]=true;
strFlag[j]=false;
}
}
Console.WriteLine("结果为:");
for(i=0;i<strNum.Length;i++)
if(strNum[i]!=0)
Console.WriteLine("{0} {1} ",str[i],strNum[i]);
Console.Write("\n");
//
}
}
}


感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-04 14:02
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 
多谢帮忙!
我还会继续关注!
希望有更好的代码贴上!

感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-04 22:22
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 
已经编好,等待测试!

感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-05 20:43
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 

using System;
using System.Text;

namespace ConsoleApplication6
{
/// <summary>
/// Class1 的摘要说明。
/// </summary>
class Class1
{
/// <summary>
/// 应用程序的主入口点。
/// </summary>
[STAThread]
static void Main(string[] args)
{
//
// TODO: 在此处添加代码以启动应用程序

string str;
int i,j,flag;
flag=1;
char[] chletter={'a','b','c','d','e','f','g','h','i','j','k','l','m','n','o','p','q','r','s','t','u','v','w','x','y','z'};
int[] intrate=new int[26];

Console.Write("please a string:\n");
str=Console.ReadLine();

while(flag==1)
{
for(i=0;i<str.Length;i++)
if((int)str[i]<97 || (int)str[i]>122)
{
Console.WriteLine("\nplease a new string again:\n");
str=Console.ReadLine();
continue;
}
if(i>=str.Length)
flag=0;

}

//
for(i=0;i<str.Length;i++)
{
for(j=0;j<26;j++)
{
if(str[i]==chletter[j])
{
intrate[j]=intrate[j]+1;
break;
}
else
continue;
}

}

//
Console.Write("\nThe rerult of the statistic:\n");
for(i=0;i<26;i++)
if(intrate[i]!=0)
Console.Write("the letter :{0} ,Show times :{1}\n",chletter[i],intrate[i]);


}
}
}

[此贴子已经被作者于2005-12-6 19:18:25编辑过]


感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-06 19:14
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 
希望朋友们帮忙测试一下!!!
出现了错误:第一次可以判断输入的是不是,小写字母.
可是第二次就判断不出了,不知道错误在哪里???
红色的地方要改,可是如何改呢???

感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-06 19:17
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 
已经成功了!

感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-07 13:14
bjdcbltx
Rank: 1
等 级:新手上路
帖 子:167
专家分:0
注 册:2005-12-4
收藏
得分:0 

大家,哪位有更好的算法???


感谢有大家的陪伴!!! E-mail:bjdcbltx@
2005-12-14 13:46
快速回复:[求助]输入字符串输出每个字母出现的次数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.025680 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved