一个数插入到有序数列中
使用插入法排序,假设x数组的n个数据已经按降序排列,现在插入一个数y到数组中,使数组x仍然是降序排列的。
输入格式:
在第一行中输入正整数n值。 在第二行中输入n个用空格间隔的降序排好的整数,数据之间只能用1个空格间隔。 在第三行中输入一个待插入的整数y。 所有数据均是100以内的正整数。
输出格式:
在一行中输出将y插入后的有序数组,每个数据输出占3列。
输入样例:
5
7 6 3 2 1
4
输出样例:
7 6 4 3 2 1
#include "stdio.h"
void main()
{
int i,n,j,max;
int a[100];
scanf("%d\n",&n);
for(i=0;i<n;i++)
{
scanf("%d ",&a[i]);
}
scanf("%d",&a[n]);
n=n+1;
for(i=0;i<n-1;i++)
for(j=0;j<n-i-1;j++)
if(a[j]<a[j+1])
{
max=a[j];
a[j]=a[j+1];
a[j+1]=max;
}
for(i=0;i<n;i++)
printf("%3d",a[i]);
}