【急】一个C++题目。输入一个英文句子找出其中最长的单词将其显示。单词之间用空格分开。

要用到指针啊。。

第1个回答  2012-10-31
void parse(string theLine,int &argc,char **argv){//theLine 保存输入的string,argc记单词个数,argv在main中定义:char *argv[100]; 保存每个单词。

char *str;
char *cstr = new char [theLine.size()+1];

//split theLine
strcpy (cstr, theLine.c_str()); //复制输入句子到cstr

str=strtok(cstr," "); //遇到空格就分割并存入str

while(str!=NULL){ //分割,储存一直到NULL

argv[argc]=str;
str = strtok(NULL," ");
argc++;
}
}

在main中再用sizeof() 得到单词长度,比较长度。本回答被网友采纳
第2个回答  2012-10-31
main函数中调用测字符串长度函数,用while(i='。')就结束读字符
然后输出就好啦!
给你思想,程序还是自己写。追问

啊、是指针题啊,函数调用还没有学过。。。

追答

main ()
{
int i;
char arr[0];
while(i=' '){
if
strlen arr[maxsize] ;
i++;
printf("arr[i]");

}
}
我电脑没装软件,所以没测。刚刚手打的,你试试这个程序吧!
有问题的话你改改,大致就这样。

本回答被提问者采纳
相似回答