【点我看视频讲解】C程序设计谭浩强第五版课后习题视频讲解

写一个函数,输人一行字符,将此字符串中最长的单词输出

写一个函数,输人一行字符,将此字符串中最长的单词输出

题目解析:

单词以空格进行分隔,因此寻找空格出现的位置即为关键,每次从单词的起始到空格出现的位置即为一个单词,此时计算单词的长度,如果比当前最大的还长,就进行跟新最长单词信息,当整个字符串遍历完成,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;
}

运行结果:

写一个函数,输人一行字符,将此字符串中最长的单词输出

posted @ 2020-07-21 18:32  北邮杨帆  阅读(3682)  评论(0编辑  收藏  举报
【视频讲解】【强烈推荐视频讲解】C程序设计谭浩强第五版课后习题视频讲解