题解 | #最长&最短文本#

最长&最短文本

https://www.nowcoder.com/practice/3331d16fe07d4358858178ff5fa73e0d

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

int main() {
    char s[1000][1001]; 
    int k = 0;
    int minlen = 1001, maxlen = 0; 

    // 读取输入,直到文件结束
    while (fgets(s[k], sizeof(s[0]), stdin)) {
        if (feof(stdin)) // 检查是否到达文件结束
            break;
        s[k][strcspn(s[k], "\n")] = '\0'; // 去掉fgets读取的换行符

        int len = strlen(s[k]);
        minlen = len < minlen ? len : minlen;
        maxlen = len > maxlen ? len : maxlen;

        k++;
    }

    // 输出最短字符串
    for (int i = 0; i < k; i++) {
        if (strlen(s[i]) == minlen)
            printf("%s\n", s[i]);
    }

    // 输出最长字符串
    for (int i = 0; i < k; i++) {
        if (strlen(s[i]) == maxlen)
            printf("%s\n", s[i]);
    }

    return 0;
}

全部评论

相关推荐

08-29 17:17
已编辑
门头沟学院
嗨害嗨我来了:张总:你们这些年轻人,这不是把我的爱好暴露了吗?
工作时那些社死瞬间
点赞 评论 收藏
分享
Aurora23:属于挂一半,暂时进池子了,隔一段时间没有其他组捞的话就彻底结束了
点赞 评论 收藏
分享
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务