注册 登录
编程论坛 VC++/MFC

在升序数组里插入数后,顺序不变

veceny 发布于 2014-05-21 22:19, 702 次点击
在一个已按升序排列的数组中插入一个数,插入后,数
      组元素仍按升序排列。

------------------------------------------------------*/
#include <stdio.h>
#define N 11
main()
{
  int i,number,a[N]={1,2,4,6,8,9,12,15,149,156};
  printf("please enter an integer to insert in the array:\n");
  /**********ERROR**********/  
  scanf("%d",&number);
  printf("The original array:\n");
  for(i=0;i<N-1;i++)
    printf("%5d",a[i]);
  printf("\n");
  /**********ERROR**********/
  for(i=N-1;i>=0;--i)
    if(number<=a[i])
  /**********ERROR**********/
    a[i+1]=a[i];
  else
  {
    a[i+1]=number;
    /**********ERROR**********/
    a[i-1]=a[i];
  }
  if(number<a[0]) a[0]=number;
    printf("The result array:\n");
  for(i=0;i<N;i++)
     printf("%5d",a[i]);
  printf("\n");
}
1 回复
#2
funyh2502014-05-21 23:20
程序代码:
  /**********ERROR**********/
  for(i=N-2;i>=0;--i)
    if(number<=a[i])
  /**********ERROR**********/
    a[i+1]=a[i];
  else
  {
    a[i]=number;
    /**********ERROR**********/
    break;
    //a[i-1]=a[i];
  }
1