C语言,写一个函数,输入一行字符,将字符串中最长的单词输出
时间: 2024-03-10 14:44:54 浏览: 103
好的,以下是一个实现该功能的 C 语言函数:
```c
#include <stdio.h>
#include <string.h>
void printLongestWord(char* string) {
char longestWord[100]; // 假设最长的单词不超过 100 个字符
char currentWord[100];
int i, j, k;
int maxLength = 0, currentLength = 0;
for (i = 0; string[i] != '\0'; i++) {
// 如果是字母,则加入当前单词中
if ((string[i] >= 'a' && string[i] <= 'z') || (string[i] >= 'A' && string[i] <= 'Z')) {
currentWord[currentLength++] = string[i];
}
// 如果是非字母,则当前单词结束,比较长度并更新最长单词
else {
currentWord[currentLength] = '\0';
if (currentLength > maxLength) {
maxLength = currentLength;
strcpy(longestWord, currentWord);
}
currentLength = 0;
}
}
// 最后一个单词后面没有非字母字符,需要再次比较长度并更新最长单词
currentWord[currentLength] = '\0';
if (currentLength > maxLength) {
maxLength = currentLength;
strcpy(longestWord, currentWord);
}
// 输出最长单词
printf("最长的单词是:%s\n", longestWord);
}
```
该函数接收一个字符串作为参数,然后遍历字符串,将其中的单词提取出来,比较单词长度并更新最长单词,最后输出最长的单词。
注意,该函数假设一个单词不超过 100 个字符,如果实际应用中可能会出现更长的单词,需要根据实际情况调整数组大小。
阅读全文