C++如何从一段输入的文字中输出最长和最短的文字的长度

来源:百度知道 编辑:UC知道 时间:2024/06/01 09:17:03
谢谢大侠

你是指单词还是什么?

你的意思是不是找出字符串中最长和最短的单词?
如果是,参考http://zhidao.baidu.com/question/8791834.html?fr=qrl3
这位仁兄写的相当好

#include <iostream.h>
int main()
{
static int k[80],length[80];
int m=0,_i=1;
char abc[] = {"I am a student"}; //随便举的一个例子,你主要看算法
int a = strlen(abc);
for (int ii=a;ii>=0;--ii) //以下三行是将这个句子的首位置(即I的前面)加上空格,为了方便后面的处理
abc[ii+1] = abc[ii];
abc[0]=' ';

for (int ce=0;ce<=a+1;ce++)
cout<<abc[ce];cout<<endl;//打印加了空格之后的句子

for (int i = 2; i <= a+1; ++i){
if(abc[i]==' '){
k[_i]=i;
length[m++]=k[_i]-k[_i-1]-1;_i++;}
if(i == a)length[m]=a-k[_i-1];
}

//这里是核心部分,从头到尾,记录每一个空格的位置,用后一个空格减前一个空格的位置再-1就是这个单词的长度了,要是看不懂你可以自己在纸上画一画
for (int ikk=0;ikk<=m;ikk++)
cout <<"