欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

1-9 最长连续递增子序列 (20分)——C语言实现

程序员文章站 2022-06-08 08:12:24
...

题目如下:
1-9 最长连续递增子序列 (20分)——C语言实现
输入样例:

15
1 9 2 5 7 3 4 6 8 0 11 15 17 17 10

输出样例

3 4 6 8

测试通过的代码:

#include <stdio.h>
#include <stdlib.h>

#define MAXSIZE 100000

struct
{
    int data;
    int Last;
} List[MAXSIZE];

int main()
{
    int n,i,j;
    scanf("%d",&n);
    for(i=0; i<n; i++)
    {
        scanf("%d",&List[i].data);
        List[i].Last=1;
    }
    for(i=0; i<n-1; i++)
    {
        for(j=i+1; j<n; j++)
        {
            if(List[j].data>List[j-1].data)
                List[i].Last++;
            else
                break;
        }
    }
    int count=1,d;//count用来记录最大顺序,d用来记录下标
    for(i=0; i<n; i++)
    {
        if(List[i].Last>count)
        {
            count=List[i].Last;
            d=i;
        }
    }
    for(i=d; i<count+d-1; i++)
    {
        printf("%d ",List[i].data);
    }
    printf("%d",List[count+d-1].data);

    return 0;
}




我写的:

马上写!!!


相关标签: C语言的自我修养