C语言中寻找最长单词
时间: 2024-12-14 21:09:07 浏览: 19
在C语言中,寻找最长单词可以通过遍历字符串并记录当前单词的长度和最长单词的长度来实现。以下是一个简单的示例代码:
```c
#include <stdio.h>
#include <string.h>
#define MAX_LENGTH 1000
int main() {
char str[MAX_LENGTH];
int i, current_length = 0, max_length = 0;
char *longest_word = NULL;
printf("请输入一个字符串: ");
fgets(str, MAX_LENGTH, stdin);
for (i = 0; str[i] != '\0'; i++) {
if (str[i] != ' ' && str[i] != '\n' && str[i] != '\t') {
current_length++;
} else {
if (current_length > max_length) {
max_length = current_length;
longest_word = &str[i - current_length];
}
current_length = 0;
}
}
// 检查最后一个单词
if (current_length > max_length) {
max_length = current_length;
longest_word = &str[i - current_length];
}
printf("最长单词是: ");
for (i = 0; i < max_length; i++) {
printf("%c", longest_word[i]);
}
printf("\n");
return 0;
}
```
这段代码的工作原理如下:
1. 使用`fgets`函数读取用户输入的字符串。
2. 遍历字符串,记录当前单词的长度和最长单词的长度。
3. 当遇到空格、换行符或制表符时,比较当前单词的长度和最长单词的长度,如果当前单词更长,则更新最长单词的长度和指针。
4. 最后,打印出最长单词。
阅读全文