#《c语言程序设计》第七章课后题
##7.10
写一个函数,输入一行字符,将此字符串中最长的单词输出
#include <stdio.h>
#include <stdlib.h>
#include<string.h>int main()
{
char arr[30];
char str[30];
void input_word(char [],char []);
printf("请输入字符串:\n");
gets(arr);
input_word(arr,str);
puts(str);
return 0;
}
void input_word(char str1[],char str2[]){
int m=0,top=0,down=0,i,j;
for(i=0;str1[i]!='\0';i++){
if(str1[i]==' '){
continue;
}
j=i;
while(str1[j]!=' '&&str1[j]!='\0'&&((str1[j]>='A'&&str1[j]<='Z')||(str1[j]>='a'&&str1[j]<='z'))){
j++;//每次从i的位置开始向后判断,如果判断正确就使j++
}
if(j-i>m){
m=j-i;//j-i为这个单词的个数
top = i;
down = j-1;
}
i=j;//判断结束将j作为下次外层循环判断的开始
}
for(int k=top,t=0;k<=down;k++,t++){
str2[t]=str1[k];//将所得的最长单词的起点终点赋给数组二
}
}
用一个函数接受主函数传来的两个数组,对需要判断的数组用i,j进行判断,i为单词的开始,用j对这个单词逐个字符进行判断,最后的j-i就是单词的长度。