求句子中最长的单词

xiaoxiao2021-02-28  110

求句子中最长的单词

1、求每个单词长度;

2、选出最大长度;

3、每个单词的长度与最大长度比较,相等则为最长单词。

#include <stdio.h> #include <string.h> //求单词的最大长度 int findLen (char *str) { char *p1 = str; char *p2 = str; int len = 0; while (*p2) { if (*p2 == ' ') { *p2 = '\0'; //将空格置为'\0',选出一个单词 len = (len > strlen(p1)) ? len : strlen(p1); *p2 = ' '; p1 = p2 + 1; //指向下一个单词 } p2++; } len = (len >( strlen(p1) - 1)) ? len : (strlen(p1) - 1); return len; //返回最大长度 } //找长度最大的单词 void findWord (char *str, int len) { char *p1 = str; char *p2 = str; while (*p2) { if (*p2 == ' ') { *p2 = '\0'; if (len == strlen (p1)) //若单词长度等于最大长度,则为最长单词 printf ("Longest Word : %s\n",p1); *p2 = ' '; p1 = p2 + 1; } p2++; } if (len == strlen (p1) - 1) //最后后一个单词单独判断 printf ("Longest Word : %s\n",p1); } int main () { printf ("Function : Lingest Word of String.\n"); char str[100]; fgets (str, sizeof(str)/sizeof(char), stdin); findWord (str, findLen(str)); return 0; }
转载请注明原文地址: https://www.6miu.com/read-71128.html

最新回复(0)