C语言基础(一) 互动版

数组举例


【例】把一个整数按大小顺序插入已排好序的数组中。

  为了把一个数按大小插入已排好序的数组中,应首先确定排序是从大到小还是从小到大进行的。设排序是从大到小进序的,则可把欲插入的数与数组中各数逐个比较,当找到第一个比插入数小的元素i时,该元素之前即为插入位置。然后从数组最后一个元素开始到该元素为止,逐个后移一个单元。最后把插入数赋予元素i即可。如果被插入数比所有的元素值都小则插入最后位置。

#include "stdio.h"
int main(void)
{
    int i,j,p,q,s,n,a[11]={127,3,6,28,54,68,87,105,162,18};
    for(i=0;i<10;i++)
    {
        p=i;q=a[i];
        for(j=i+1;j&lt10;j++)
            if(q&lta[j]) {p=j;q=a[j];}
        if(p!=i)
        {
            s=a[i];
            a[i]=a[p];
            a[p]=s;
        }
        printf("%d ",a[i]);
    }
    printf("\ninput number:\n");
    n=85;
    for(i=0;i<10;i++)
        if(n>a[i])
        {
            for(s=9;s&gt=i;s--) a[s+1]=a[s];
            break;
        }
    a[i]=n;
    for(i=0;i&lt=10;i++)
      printf("%d ",a[i]);
    printf("\n");
    return 0;
}