用c语言写一个函数,输入一行字符,将此字符串中最长的单词输出
时间: 2023-12-18 17:08:23 浏览: 80
输出最长单词.c
好的,下面是一个获取最长单词的函数,输入一个字符串,然后遍历字符串中的每个单词,找到最长的单词并输出。函数中使用了两个字符串t1和t2,t1用于存储当前最长的单词,t2用于存储当前正在遍历的单词。函数中使用了两个循环,第一个循环是遍历整个字符串,第二个循环是遍历每个单词,当遇到非字母字符时,就表示一个单词结束了,比较当前单词的长度和t1中的单词长度,如果比t1中的单词长度长,则更新t1的值。最后输出t1即为最长的单词。
```
#include <stdio.h>
#include <string.h>
void longest_word(char str[])
{
char t1[30], t2[30];
t1[0] = '\0';
int k = strlen(str),i,j=0;
for (i = 0; i < k; i++)
{
j = 0;
while ((str[i] >= 'A' && str[i] <= 'Z') || (str[i] >= 'a' && str[i] <= 'z'))
{
t2[j++] = str[i++];
}
t2[j] = '\0';
if (strlen(t1) < strlen(t2))
{
strcpy(t1, t2);
}
}
printf("The longest word is: %s\n",t1);
}
int main()
{
char str[80];
printf("Please enter a string: ");
gets(str);
longest_word(str);
return 0;
}
```
注意: `gets()` 函数在最新的 C 语言标准中已经被弃用,不推荐使用,可以使用 safer 且更加灵活的 `fgets()` 函数代替。
阅读全文