实验6-一维数组:7-4 简化的插入排序 (15 分)

一、题目:

本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。

输入格式:

输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。

输出格式:

在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。

输入样例:

5
1 2 4 5 7
3

输出样例:

1 2 3 4 5 7 

二、代码:

#include<stdio.h>
#include<stdlib.h>

int main(void)
{
    int N,X;
    scanf("%d\r",&N);
    if(N>0&&N<10)
    {
        int a[N+1];
        for(int i=0;i<N;i++)
        {
            scanf("%d",&a[i]);
        }

        scanf("%d",&X);

        for(int j=0;j<N;j++)
        {
            if(X<=a[j])
            {
                for(int k=N-1;k>=j;k--)
                {
                    a[k+1]=a[k];
                }
                a[j]=X;
                break;
            }
            else if(X>a[N-1])
            {
                a[N]=X;
                break;
            }
        }

        for(int i=0;i<N+1;i++)
        {
            printf("%d ",a[i]);
        }
    }
    else if(N==0)
    {
       scanf("%d",&X);
       printf("%d ",X);
    }
    else
        printf("ERROR!");
}

部分题目忘记粘贴,此栏目旨在记录大学C语言学习过程。这是大二时候做的PTA题库,题目来源:PTA网址。答案是个人编写,有部分答案存在错误,仅供同学参考学习。涉及版权问题,可以联系我删除

上一篇:Docker系列——InfluxDB+Grafana+Jmeter性能监控平台搭建(二)


下一篇:MySQL基础之简单基础操作(部分)