跪求:一个C语言的问题!请高手解答~万分感谢!!

来源:百度知道 编辑:UC知道 时间:2024/05/26 05:25:15
编写一个主函数以及一个函数maxlong(str)。要求是:(1)函数maxlong(str)找出字符串str中包含的第一个最长单词(用字符数组进行存储),并返回主调函数。(2)在主函数中输入一个字符串,假定输入字符串中只含字母和空格,空格用来分割不同单词;以该字符串作为参数调用maxlong函数,并输出返回的结果

#include <stdio.h>

int maxlong(char str[]){
int maxlength=0;
int maxstart=0;
int length=0;
int start=0;
int i;
for(i=0;str[i]!='\0';i++){
if(str[i]==' '){
if(length>maxlength){
maxlength=length;
maxstart=start;
length=0;
start=i+1;
}
else{
length=0;
start=i+1;
}
}
else{
length++;
}
}
return maxstart;
}

int main(){
char str[200];
int i;
char ch;
for(i=0;i<200&&(ch=getchar())!='#';i++)
str[i]=ch;
if(i<200)str[i]='\0';
else str[199]='\0';
int j=maxlong(str);
for(i=j;str[i]!=' '&&str[i]!='\0';i++)
printf("%c",str[i]);
printf("\n");
return 0;
}

maxlong返回字符串中最长单词第一个字符的下标。输入的时候输入一串字符,在字符的结尾加上#表示字符串到此结束。