题解 | #有序序列判断#

有序序列判断

https://www.nowcoder.com/practice/22e87f8a8d764a6582710f38d1b40c6e

#include <stdio.h>

int main() {
    int arr[50] = {0};
    int n = 0;
    while (1 == scanf("%d", &n))
    {
        // 记录升序
        int greater = 0;
        int less = 0;
        int equal = 0;

        // 输入数据
        for (int i = 0; i < n; i++)
        {
            scanf("%d", &arr[i]);
        }

        // 判断是否有序
        for (int i = 0; i < n - 1; i++)
        {
            if (arr[i] < arr[i + 1])
            {
                greater++;
            }
            else if (arr[i] == arr[i + 1])
            {
                equal++;
            }
            else if (arr[i] > arr[i + 1])
            {
                less++;
            }
        }
        if ((n - 1 == less) || (greater == n - 1) || (equal == n - 1))
        {
            printf("sorted\n");
        }
        else
        {
            printf("unsorted\n");
        }
    }
    return 0;
}

全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务