题解 | #有序序列插入一个数#

有序序列插入一个数

https://www.nowcoder.com/practice/74486aec6fe14d44b509efabf265ee66

#include <stdio.h>
int main()
{
    //定义有序序列的元素个数
    int num = 0;
    scanf("%d\n",&num);
    //利用数组存放有序序列的元素
    int arr[51]={0};
    int i = 0;
    for(i=0;i<num;i++)
    {
        scanf("%d",&arr[i]);
    }
    //输入想要插入的数字
    int input = 0;
    scanf("%d",&input);
    //插入
    int end=num-1;//记录最后一个元素的下标
    for(i=0;i<num+1;i++)//要比较num+1次,才能把所有的数字比较完毕
    {
        if(input<arr[end])
        {
            arr[end+1]=arr[end];
            end--;
        }
        else 
        {
            arr[end+1]=input;
            break;
        }
    }
    //循环输出
    for(i=0;i<num+1;i++)
    {
        printf("%d ",arr[i]);
    }
    return 0;
}

全部评论

相关推荐

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