首页 文章详情

hdu 2019 数列有序!

C语言题库 | 221 2021-05-28 18:00 0 0 0
UniSMS (合一短信)

数列有序!

Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)
Total Submission(s): 169024    Accepted Submission(s): 68541


Problem Description

有n(n<=100)个整数,已经按照从小到大顺序排列好,现在另外给一个整数x,请将该数插入到序列中,并使新的序列仍然有序。

 


Input

输入数据包含多个测试实例,每组数据由两行组成,第一行是n和m,第二行是已经有序的n个数的数列。n和m同时为0标示输入数据的结束,本行不做处理。

 


Output

对于每个测试实例,输出插入新的元素后的数列。

 


Sample Input

3 3
1 2 4
0 0

 


Sample Output

1 2 3 4


代码:

#include<stdio.h>
int main()
{
int n,m,a[10000],b;
while(scanf("%d %d",&n,&m)!=EOF)
{
if(n==0&&m==0)
break;
for(int i=0;i<n;i++)
scanf("%d",&a[i]);
for(int i=0;i<n;i++)
{
if(a[i]<=m&&m<=a[i+1])
b=i+1;
}
for(int i=n-1;i>=b;i--)
a[i+1]=a[i];
a[b]=m;
for(int i=0;i<n;i++)
printf("%d ",a[i]);
printf("%d\n",a[n]);
}

}

good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter