求最长单词并输出
有一串字符,以空格表示单词的结束,求字符串中的最长单词并输出
#include <stdio.h>
#include <string.h>
void find(char s[80],int n)
{
int i,j=0,k=0,max,num=0;
char s1[10][20];
for(i=0;i<n;i++) //计算你的字符串里面有多少个空格,num用来计数。
{
if(s[i]==' ')
num++;
}
for(i=0;i<num;i++) //计算出的空格数,说明你的字符串里面有num+1个单词数,
{
while(s[j]!=' ')
{
s1[i][k]=s[j]; //用二维数组来存放单词,当i=0时存放的是第一个单词,把一维数组的字符赋值给二维数组,以此类推。
j++;
k++;
}
j++;
k=0; //k值回到二维数组的第0列
}
max=0;
for(i=0;i<num;i++) //找出二维数组中单词最长的的地址
if(strlen(s1[max])<strlen(s1[i]))
max=i;
printf("%s",s1[max]);
}
void main()
{
char s[80];
gets(s);
find(s,strlen(s));
}