题解 | 有序序列判断

有序序列判断

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

标题有序序列判断

#include<stdio.h>
int main()
{
    int n = 0;
    int arr[50] = { 0 };//存放原序列
    int arr1[50] = { 0 };//存放升序列
    int arr2[50] = { 0 };//存放降序列
    scanf("%d", &n);//获取n
    for (int i = 0; i < n; i++)//将序列放入arr,arr1,arr2中
    {
        scanf("%d", &arr[i]);
        arr1[i] = arr[i];
        arr2[i] = arr[i];
    }
    //升序
    for (int i = 0; i < n - 1; i++)
    {
        if (arr1[i] > arr1[i + 1])
        {
            int tmp = arr1[i];
            arr1[i] = arr1[i + 1];
            arr1[i + 1] = tmp;
        }

    }
    //降序
    for (int i = 0; i < n - 1; i++)
    {
        if (arr2[i] < arr2[i + 1])
        {
            int tmp = arr2[i];
            arr2[i] = arr2[i + 1];
            arr2[i + 1] = tmp;
        }
    }
    //判断升序和降序之后的序列和原序列是否一致,一致则有序
    int i = 0;
    for (i = 0; i < n; i++)
        {
            if (arr[i] != arr1[i] && arr[i] != arr2[i])//arr,arr1,arr2对应元素都不同,
                                                       //则肯定无序
            {
                printf("unsorted\n");//打印
                break;               //并终止循环
            }
        }
        if (i == n)//如果在上面循环中找不到对应元素都不同的,则原序列有序
        {
            printf("sorted\n");
        }
    return 0;
}
全部评论

相关推荐

看到这个内容真是闹麻了。。。。。。现在有了AI以后很多人面试都会作弊吗?&nbsp;那对老老实实面试的人岂不是不公平....
程序员牛肉:公平那是对小孩子讲的童话故事,成年人的世界只有能不能接受失败的后果。 你要是能接受面试作弊被发现之后多家公司联合永久拉黑的后果,你就搞。
你找工作的时候用AI吗?
点赞 评论 收藏
分享
05-26 10:24
门头沟学院 Java
qq乃乃好喝到咩噗茶:其实是对的,线上面试容易被人当野怪刷了
找工作时遇到的神仙HR
点赞 评论 收藏
分享
水墨不写bug:疑似没有上过大学
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务