思路:1 根据题目要求输入相关的数据
2 将要插入的数据放入另一个数组中(空数组)
3 将a中的所有元素放到b数组中
4 进行排序
5 输出
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
输入格式:
输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。
输出格式:
在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。
输入样例:
5
1 2 4 5 7
3
结尾无空行
输出样例:
1 2 3 4 5 7
结尾无空行
#include<stdio.h>
int main(void)
{
int n,x,t;
while(~scanf("%d %d",&n,&x)){
int i,j;
int a[n];
int b[n+1];
for(i=0;i<n;i++)
{
scanf("%d",&a[i]);
b[i]=a[i];
}
b[n]=x;
for(i=0;i<n;i++)
{
for(j=0;j<n-i;j++)
{
if(b[j]>b[j+1])
{
t=b[j];
b[j]=b[j+1];
b[j+1]=t;
}
}
}
for(i=0;i<=n;i++)
{
printf("%d ",b[i]);
}
}
return 0;
}
注:这边只会冒泡,选择排序,如有大佬,将此源码作为修改,将修改后的代码放到评论区,大家一起学习。