寫一個函數,輸人一行字符,將此字符串中最長的單詞輸出
題目解析:
單詞以空格進行分隔,因此尋找空格出現的位置即為關鍵,每次從單詞的起始到空格出現的位置即為一個單詞,此時計算單詞的長度,如果比當前最大的還長,就進行跟新最長單詞信息,當整個字符串遍歷完成,word即保存最長字符串。
代碼示例:
#include<stdio.h>
#include<string.h>
void LongestWord(char str[], char word[])
{
int max_len = 0;
int len = 0;
int i = 0;
while(str[i] != '\0')
{
if(str[i] == ' ')
{
str[i] = '\0';
len = strlen(str);
if(len > max_len)
{
max_len = len;
strcpy(word, str);
str = str + len + 1;
}
}
i++;
}
}
int main()
{
char line[100] = {0};
char word[100] = {0};
printf("input one line:\n");
gets(line);
LongestWord(line, word);
printf("The longest word is : %s\n", word);
return 0;
}