本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
输入格式:
输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。
输出格式:
在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。
输入样例:
5
1 2 4 5 7
3
输出样例:
1 2 3 4 5 7
#include<stdio.h>
int main()
{
int n, x, i, temp;
int a[10];
scanf("%d", &n);
for (i = 0;i < n;i++)
{
scanf("%d", a + i);
}
scanf("%d", &x); //输入需要插入的整数
a[n] = x; //将要比较的数放在数组最后一位作为哨兵
for (i = 0;i <= n;i++) //进行比较插入
{
if (a[i] > a[n]) //逐位和哨兵比较交换
{
temp = a[n];
a[n] = a[i];
a[i] = temp;
}
printf("%d ", a[i]); //输出结果
}
return 0;
}
题目源自PAT