大神们,求解一道算法编程,最好只用C语言编写,拜托啦= =

2025-03-10 23:11:30
推荐回答(1个)
回答1:

#include
#include
int main()
{int n,i,j,m,t,x,a[1000];
 scanf("%d",&n);
 a[0]=rand()%25;
 printf("%d",a[0]);
 for(i=1;i {a[i]=a[i-1]+rand()%10+1;
  printf(" %d",a[i]);
 }
 printf("\nx=");
 scanf("%d",&x);
 for(i=0,j=n-1;i {m=(i+j)/2;
  if(a[m]==x){j=m; break;}
    else if(a[m]      else j=m;
 }
 if(a[j]==x)
 {t=a[j]; a[j]=a[j+1];a[j+1]=t;}
 else
 {if(a[j]  for(i=n;i>j;i--)a[i]=a[i-1];
  a[j]=x;
  n++;
 }
 for(i=0;i   printf("%d ",a[i++]);
 printf("\n");
 return 0;
}