永发信息网

问题:从键盘输入一段英文,找出长度最长和最短的单词,以及出现次数最多的英文字符.

答案:2  悬赏:50  手机版
解决时间 2021-03-13 21:18
  • 提问者网友:不爱我么
  • 2021-03-13 15:36
网上有许多答案但思考地都不全面。1.如何输出所有长度一样的最长或最短单词,即有多个单词一样长且为最长(最短)的时候?2.寻找出现次数最多的英文字母时,如何解决大小写的问题?
最佳答案
  • 五星知识达人网友:底特律间谍
  • 2021-03-13 16:28
参考如下代码:
bool IsZiMu(char ch) //是不是大小字母
{
if(ch >= 'a' && ch <= 'z')
return true;
if(ch >= 'A' && ch <= 'Z')
return true;
return false;
}

int GetMaxLenKey(char* p)//统计字符串中的最长单词的长度
{
int iMax = 0;
int iNum = 0;
const int len = strlen(p);
bool bKey = false;
for(int i = 0 ; i < len ; i++ )
{
const char ch = p[i];
if(!bKey)
{
if(IsZiMu(ch))
{
bKey = true;
iNum=1;
}
}
else
{
if(!IsZiMu(ch))
{
bKey = false;
if( iNum > iMax )
iMax = iNum;
}
else
iNum++;
}

}

return iMax ;
}

int main()
{
char* a = " adc de adxedsM d.";
int iNum = GetMaxLenKey(a);

return 0;
}
全部回答
  • 1楼网友:封刀令
  • 2021-03-13 17:28
很简单,c中本来就有字符串长度计算函数,至于出现次数最多的字符,英文不过26个,可以用个笨方法,用26个变量分别计数各自字母出现的个数,加个比较不就行了
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯