【id:213】【14分】A. 在有序数组中插入元素
时间限制1s
内存限制128MB
题目描述
已有一个已排好的9个元素的数组,今输入一个数要求按原来排序的规律将它插入数组中。
输入
第一行,原始数列。 第二行,需要插入的数字。
输出
排序后的数列
样例查看模式
正常显示查看格式
输入样例1 <-复制
输出样例1
#include<stdio.h>
int main(void)
{
int arr[10];
int i,j,temp;
for (i=0;i<10;i++)
{
scanf("%d",&arr[i]);
}
for(i=1;i<=8;i++) //冒泡排序,由小到大
{
for(j=0;j<= 8 - i;j++)
{
if(arr[j]>arr[j+1])
{
temp = arr[j];
arr[j] = arr[j+1];
arr[j+1] = temp;
}
}
}
for (i=0;i<9;i++) //依次比较数组,
{
if(arr[9]<arr[i]) //最后一个元素,小于当前元素时,交换两个的值
{
temp = arr[i];
arr[i]=arr[9];
arr[9]=temp;
for(i;i<8;i++) //一旦找到符合的元素,剩余的不需要再比,直接换位即可
{
temp=arr[9];
arr[9]=arr[i+1];
arr[i+1] = temp;
}
break; //可以加入可不加入
}
}
for(i=0;i<10;i++)
{
printf("%d\n",arr[i]);
}
return 0 ;
}