Nicn的刷题日常之 有序序列判断

 

目录

1.题目描述 

描述

输入描述:

输出描述:

示例1

示例2

示例3

2.解题


 

1.题目描述 

描述

输入一个整数序列,判断是否是有序序列,有序,指序列中的整数从小到大排序或者从大到小排序(相同元素也视为有序)。

数据范围: 3≤�≤50 3≤n≤50  序列中的值都满足 1≤���≤100 1≤val≤100 

输入描述:

第一行输入一个整数N(3≤N≤50)。

第二行输入N个整数,用空格分隔N个整数。

输出描述:

输出为一行,如果序列有序输出sorted,否则输出unsorted。

示例1

输入:

5
1 6 9 22 30

复制输出:

sorted

复制

示例2

输入:

5
3 4 7 2 10

复制输出:

unsorted

复制

示例3

输入:

5
1 1 1 1 1

复制输出:

sorted

2.解题

解法1:

#include 



int main()

{



    int n = 0;

    int arr[20000] = { 0 };

    scanf("%d", &n);

    int cont = 0;

    int cout = 0;

    int j = 0;

    for (j = 0; j < n; j++)

    {

        scanf("%d", &arr[j]);

    }

    int i = 0;

    for (i = 0; i < n-1; i++)

    {

        if (arr[i] <= arr[i + 1])

        {

            cont++;//判断是不是升序

        }

        else if (arr[i] >= arr[i + 1])

        {

            cout++;//判断降序

        }

    }

    if (cout == n-1|| cont == n-1)

    {

        printf("sorted\n");

    }

    else

    {

        printf("unsorted\n");

    }

    

    

    return 0;

}

解法2:

#include 

int main()
{
    int n = 0;
    int arr[50] = {0};
    scanf("%d", &n);
    int i = 0;
    int flag1 = 0;
    int flag2 = 0;
    for(i=0; i0)
        {
            if(arr[i]>arr[i-1])
                flag1 = 1;
            else if(arr[i] 1)
        printf("unsorted\n");
    else
        printf("sorted\n");
    return 0;
}

你可能感兴趣的:(算法,数据结构,线性代数,动态规划,c语言)