首页 > 试题广场 >

编写一个程序,把用户输入的x插入到从小到大的有序数组a中,使

[问答题]
编写一个程序,把用户输入的x插入到从小到大的有序数组a中,使a的元素仍是有序的。

推荐
先通过比较找到x的要插入的位置i,将a[i]~a[n-1]元素后移一个位置,再将x插入到a[i]的位置。程序如下:
#include <stdio.h>
void main()
{
    int a[10]={3,12,17,20,25,28}i,j,n=6;
    int x;
    printf("x:");
    scanf("%d",&x);
    i=0;
    while (i<n && a[i]<x) i++;
    for (j=n;j>i;j--)
      a[j]=a[j-1];
    a[i]=x;
    n++;
    for(i=0;i<n;i++)
      printf("%4d",a[i]);
    printf("\n");
}

发表于 2018-09-11 19:37:17 回复(0)