第14周OJ实践 输入一个数插入有序数组中
Problem B: 输入一个数插入有序数组中
Time Limit: 1 Sec Memory Limit: 128 MBSubmit: 3239 Solved: 2059
[Submit][Status][Web Board]
Description
已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
Input
第一行,原始数列。第二行,需要插入的数字。
Output
排序后的数列
Sample Input
1 7 8 17 23 24 59 62 101 50
Sample Output
1 7 8 17 23 24 50 59 62 101
问题及代码:
#include <stdio.h> #include <stdlib.h> int main() { int a[10],i,n; for(i=0;i<9;i++) scanf("%d",&a[i]);//输入已排好的9个元素 scanf("%d",&n);//输入需要插入的数字 i=8;//从已知数列的最后一位与N进行比较。 while(i>=0&&a[i]>n) { a[i+1]=a[i];//最大的数往最右面排 i--;//使上次已排好的数字不参与这次的排序 } i++;//此时即为a[i] a[i]=n; for(i=0;i<10;i++) printf("%d ", a[i]);//顺序输出 return 0; }运行结果:
学习心得:学会多给程序加注释,以便日后简单查看!
声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。