杭电acm2019

http://acm.hdu.edu.cn/showproblem.php?pid=2019

边输入,边判断,边插入,在插入后要做个标记,避免重复插入

View Code
 1 #include<stdio.h>
 2 int main()
 3 {
 4     int x,n,a[10000],i,t,flag;
 5     while(scanf("%d%d",&n,&x)&&(n||x))
 6     {
 7         flag=0;
 8         scanf("%d",&a[0]);
 9         if(x<a[0])
10         {
11            t=x;
12            x=a[0];
13            a[0]=t;
14            flag=1;
15         }
16         for(i=1;i<=n;i++)
17         {
18            scanf("%d",&a[i]);
19            if(a[i]>=x&&a[i-1]<=x&&flag==0)
20            {
21               a[i+1]=a[i];
22               a[i]=x;
23               i++;
24               flag=1;
25            }
26            if(i==n-1&&a[i]<=x&&flag==0)
27            {
28                a[i+1]=x;
29                i++;
30                flag=1;
31            }
32         }
33         
34         for(i=0;i<=n;i++)
35           if(i==n)
36              printf("%d\n",a[i]);
37           else printf("%d ",a[i]);
38     }
39  return 0;
40 }
原文地址:https://www.cnblogs.com/huzhenbo113/p/3009799.html