输入一个数插入有序数组中

来源:互联网 发布:c和java哪个好就业 编辑:程序博客网 时间:2024/05/01 11:40

问题及代码:

Description

已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。

Input

第一行,原始数列。第二行,需要插入的数字。

Output

排序后的数列

Sample Input

1 7 8 17 23 24 59 62 10150

Sample Output

178172324505962101

 

 

/*烟台大学计算机与控制工程学院冯琬淇问题:已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。第一行,原始数列。第二行,需要插入的数字。排序后的数列*/#include <stdio.h>#include <stdlib.h>int main(){    int i,a[10],n;    for (i=0;i<9;i++)        scanf("%d",&a[i]);    scanf("%d",&n);    i=8;    while(i>=0&&a[i]>n)    {        a[i+1]=a[i];        i--;    }    i++;    a[i]=n;    for(i=0;i<10;i++)        printf("%d\n",a[i]);    return 0;}


 

运行结果:

 

 

总结心得:

先用一个循环对于依次输入的所有变量进行定义,再对下一行输入的一个数字“n”进行定义。因为原先有顺序,所以先把I定义成最大的下标,把比n大的几位数字依次移位,并确定移位的初始下标的前一位,最后再把n定义为初始下标,最后把a[n]中的数字按顺序输出。

0 0
原创粉丝点击