PTA简化的插入排序
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
输入格式:
输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。
输出格式:
在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。
思路:通过在一个for循环里判断要插入的数是否小于当前数组的数,若小于则输出同时将标志置0避免再次判断,在for里面不断输出数组,并且由于若要插入的数比最后一个数还小则无法判断需在for循环外再加一个if语句进行判断
代码如下
#include<stdio.h>
int main()
{
int n,i,t,a[10],flag=1;
scanf("%d",&n);
for(i=0;i<n;i++)
scanf("%d",&a[i]);
scanf("%d",&t);
for(i=0;i<n;i++){
if(t<=a[i]&&flag){
printf("%d ",t);
flag=0 ;
}
printf("%d ",a[i]);
}
if(t>=a[n-1]) printf("%d ",t);
return 0;
}