在一个已经排序好的数组中插入一个数,按原来排序的规律

 思路:一个升序数组,插入一个数,若比最后一个数大,放到a[10]中。其他位置插入统一向后移一个。

注:if中最后加个break.

#include<stdio.h>
int main()
{
    int a[11]={1,4,6,9,13,16,19,28,40,100};
    int i,end,temp1,number,j,temp2;
    scanf("%d",&number);
    end=a[9];
    if(number>a[9])
        a[10]=number;
    else
    {
        for(i=0;i<10;i++)
        {
            if(a[i]>number)
            {
                temp1=a[i];
                a[i]=number;
                for(j=i+1;j<11;j++)
                {
                    temp2=a[j];
                    a[j]=temp1;
                    temp1=temp2;
                }
                break;
            }
        }
    }
    for(i=0;i<11;i++)
        printf("%d ",a[i]);
    printf("\n");
    return 0;
}

运行结果: 

发布了89 篇原创文章 · 获赞 24 · 访问量 4万+

猜你喜欢

转载自blog.csdn.net/zhangxue1232/article/details/104813347