题目描述
数组a中的10个数按升序排列。从键盘输入一个待插入数key,将其插入到数组中,使数组依然保持升序。
输入要求
先从键盘输入10个按升序排列的整数,然后再输入一个待插入的数据key。
输出要求
输出插入后的对应结果,要求依然升序排列。每个数据后面都有空格。
输入样例
1 3 5 7 9 11 13 15 17 19
6
输出样例
1 3 5 6 7 9 11 13 15 17 19
#include <stdio.h>
int main()
{
int a[11],i,j,t,n;
for(i=0;i<10;i++)
scanf("%d",&a[i]);
scanf("%d",&a[10]);
for(i=0;i<10;++i)
if(a[10]>a[i]&&a[10]<a[i+1])
t=a[i+1],a[i+1]=a[10],a[10]=t;
i=i-1;
for(i=i+2;i<10;++i)
n=a[i],a[i]=a[10],a[10]=n;
for(i=0;i<11;++i)
printf("%d ",a[i]);
printf("\n");
return 0;
}
本文介绍了一种在已排序数组中插入新元素并保持升序的算法实现。通过比较和交换,确保插入后数组仍为升序。适用于初学者理解和实践数组操作。
396

被折叠的 条评论
为什么被折叠?



