以下是一个简单的C语言程序,可以找出一个字符串中最长的单词:

#include <stdio.h>
#include <string.h>

#define MAX_LEN 100

int main() {
    char str[MAX_LEN];
    char longest_word[MAX_LEN];
    int longest_len = 0;
    char *word;

    printf("请输入字符串:");
    fgets(str, MAX_LEN, stdin);

    // 查找最长的单词
    word = strtok(str, " \n"); // 以空格和换行符分割字符串
    while (word != NULL) {
        int len = strlen(word);
        if (len > longest_len) {
            longest_len = len;
            strcpy(longest_word, word);
        }
        word = strtok(NULL, " \n");
    }

    printf("最长的单词是:%s\n", longest_word);

    return 0;
}

解释一下程序的原理:

  1. 首先定义一个字符串变量 str 和一个长度为 MAX_LEN 的字符数组 longest_word,用于存储最长的单词。
  2. 定义一个整型变量 longest_len,用于存储最长单词的长度。
  3. 使用 fgets 函数从标准输入中读取一个字符串,并存储在 str 中。
  4. 使用 strtok 函数依次遍历 str 中的单词,以空格和换行符为分隔符。
  5. 如果当前遍历到的单词的长度比 longest_len 大,则更新 longest_wordlongest_len 的值。
  6. 最后输出最长的单词。

需要注意的是,本程序中假设单词之间用空格或换行符分隔。如果需要考虑其他分隔符,可以在 strtok 函数的第二个参数中添加相应的字符。

帮我用最简单的c语言函数找出一串字符串中最长的单词

原文地址: https://www.cveoy.top/t/topic/bK6A 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录