zoukankan      html  css  js  c++  java
  • 九度OJ 1195:最长&最短文本 (搜索)

    时间限制:1 秒

    内存限制:32 兆

    特殊判题:

    提交:3144

    解决:1156

    题目描述:

        输入多行字符串,请按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

    输入:

    输入包括多行字符串,字符串的长度len,(1<=len<=1000)。

    输出:

    按照原文本中的顺序输出其中最短和最长的字符串,如果最短和最长的字符串不止一个,请全部输出。

    样例输入:
    hello
    she
    sorry
    he
    样例输出:
    he
    hello
    sorry
    来源:
    2008年华中科技大学计算机研究生机试真题

    思路:

    先搜索一遍,知道最短长度和最长长度,然后遍历输出。

    也可排序后输出。


    代码:

    #include <stdio.h>
    #include <string.h>
    #include <stdlib.h>
     
    #define N 1000
     
    int cmp(const void *a, const void *b)
    {
        return strlen((char *)a) - strlen((char *)b);
    }
     
    int main(void)
    {
        int n;
        int i, j;
        char s[N][N+1];
     
        i = 0;
        while (scanf("%s", s[i]) != EOF)
            i++;
     
        n = i;
        qsort(s, n, sizeof(s[0]), cmp);
        for (i=1; i<n && strlen(s[i])==strlen(s[0]); i++) ;
        for (j=0; j<i; j++)
            printf("%s
    ", s[j]);
        if (strlen(s[0]) != strlen(s[n-1]))
        {
            for (i=n-2; i>=0 && strlen(s[i])==strlen(s[n-1]); i--) ;
            for (j=i+1; j<n; j++)
                printf("%s
    ", s[j]);
        }
     
        return 0;
    }
    /**************************************************************
        Problem: 1195
        User: liangrx06
        Language: C
        Result: Accepted
        Time:10 ms
        Memory:1820 kb
    ****************************************************************/


    编程算法爱好者。
  • 相关阅读:
    1021. Deepest Root (25)
    1013. Battle Over Cities (25)
    h5ai目录列表优化
    利用chrome调试手机网页
    跨域相关配置
    HttpClient服务端发送http请求
    滚动条样式优化(CSS3自定义滚动条样式 -webkit-scrollbar)
    javaScript复制粘贴
    效率工作
    spring boot实现文件上传下载
  • 原文地址:https://www.cnblogs.com/liangrx06/p/5083832.html
Copyright © 2011-2022 走看看