瀚林HanlinJ 2021-05-23 23:26 采纳率: 100%
浏览 58
已采纳

c语言设计中,如何不用数组来判断整数数列是否有序

判断是否有序,不能用数组的方法来判断 输入整数数列长度n,然后输入数列内容,输出有序无序

  • 写回答

1条回答 默认 最新

  • benbenli 2021-05-23 23:52
    关注
    #include<stdio.h>
    
    int main() {
        int n, x, y;
        printf("Please enter n: ");
        scanf("%d", &n);
        printf("Please enter %d numbers:\n", n);
        if (n == 1) 
        {
            printf("Only 1 number, in order any way.");
        }
        else
        {
            scanf("%d%d", &x, &y);
            int ascending = x <= y ? 1 : 0;
            x = y;
            
            for (int i = 2; i < n; ++i)
            {
                scanf("%d", &y);
                if (ascending ^ (x < y))
                {
                    printf("Not in order.");
                    return 0;
                }
                x = y;
            }
            if (ascending)
            {
                printf("in ascending order.");
            }
            else 
            {
                printf("in descending order.");
            }
        }
    
        return 0;
    }
    
    // Output
    Please enter n: 9
    Please enter 9 numbers:
    1 2 3 4 5 6 7 8 9
    in ascending order.
    
    
    Please enter n: 10
    Please enter 10 numbers:
    9 8 7 6 5 4 3 2 1 0
    in descending order.
    
    Please enter n: 5
    Please enter 5 numbers:
    1 5 9 3 2
    Not in order.
    
    Please enter n: 3     
    Please enter 3 numbers:
    1 3 2
    Not in order.
    
    
    Please enter n: 2
    Please enter 2 numbers:
    1 2
    in ascending order.
    
    
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 NX MCD仿真与博途通讯不了啥情况
  • ¥15 win11家庭中文版安装docker遇到Hyper-V启用失败解决办法整理
  • ¥15 gradio的web端页面格式不对的问题
  • ¥15 求大家看看Nonce如何配置
  • ¥15 Matlab怎么求解含参的二重积分?
  • ¥15 苹果手机突然连不上wifi了?
  • ¥15 cgictest.cgi文件无法访问
  • ¥20 删除和修改功能无法调用
  • ¥15 kafka topic 所有分副本数修改
  • ¥15 小程序中fit格式等运动数据文件怎样实现可视化?(包含心率信息))