情人节还在刷题


私信TA

用户名:dotcpp0641709

访问量:139

签 名:

等  级
排  名 16302
经  验 762
参赛次数 0
文章发表 1
年  龄 0
在职情况 学生
学  校
专  业

  自我简介:

TA的其他文章

最笨的方法
浏览:125

解题思路:利用两个数组来分别存放每个单词的大小和对应的句子中每个单词开始的元素下标

注意事项:每个单词的元素下标记得从0开始

参考代码:

int main()

{

    char str[2000] = { 0 };

    int a[200] = { 0 };//存放每个单词的大小

    int b[200] = { 0 };//存放每个单词开始位置的下标号

    int i = 0, k = 0, j = 0, m1 = 0, m2 = 0;

    int max = 1, min = 1;

    gets(str);

    //计算每个单词的大小和开始下标

    while (str[i])

    {

        j = 0;

        b[k] = i;

        while (str[i] != ' ' && str[i] != '\0')

        {

            i++;

            j++;

        }

        if (j != 0)

        {

            a[k] = j;

            k++;

        }

        i++;

    }


    //找出最长和最短单词的长度

    for (i = 0; i < k; i++)

    {

        max = (a[i] > max) ? (a[i]) : (max);

        min = (a[i] < min) ? (a[i]) : (min);

    }

    //找出第一个最长最短单词的元素下标

    for (i = 0; i < k; i++)

    {

        if (a[i] == max)

        {

            max = b[i];//最长单词元素下标

            m1 = i;//用来标记这个单词的大小

            break;

        }

    }

    for (i = 0; i < k; i++)

    {

        if (a[i] == min)

        {

            min = b[i];//最短单词元素下标

            m2 = i;

            break;

        }

    }

    //输出最长单词

    for (i = max; i < max + a[m1]; i++)

    {

        printf("%c", str[i]);

    }

    printf("\n");

    //输出最短单词

    for (i = min; i < min + a[m2]; i++)

    {

        printf("%c", str[i]);

    }

    printf("\n");

    return 0;

}


 

0.0分

1 人评分

看不懂代码?想转换其他语言的代码? 或者想问其他问题? 试试问问AI编程助手,随时响应你的问题:

编程语言转换万能编程问答  

代码解释器

代码纠错

SQL生成与解释

  评论区

您好,我提交代码一直得到91分,请问您知道测试点有哪些吗?
2023-05-23 10:01:11
  • «
  • 1
  • »