c语言程序问题,求一段代码

求一段c语言代码:有一个已排好序的数组,要求输入一个数后,按原来排序的规律将其插入数组中

这样?

 #include<stdio.h>
#define ARR_NUM 10
int main()
{
    int arr[ARR_NUM+1] = {1,5,7,8,9,10,20,21,25,55},i,j,temp;
    printf("插入数据前:");
    for(i = 0; i < ARR_NUM; i++)
        printf("%d ", arr[i]);
    printf("\n输出要插入的数据:");
    scanf("%d", &temp);
    for(i = 0; i < ARR_NUM; i++)
    {
        //找到了要插入的数据的位置
        if(arr[i] > temp)
        {
            for(j = ARR_NUM; j > i; j--)
                arr[j] = arr[j - 1];
            arr[j] = temp;
            break;
        }   
    }
    //要插入的数据比当前数组中的所有数字都大
    if(i == ARR_NUM)
        arr[ARR_NUM] = temp;
    printf("插入数据后:");
    for(i = 0; i < ARR_NUM + 1; i++)
        printf("%d ", arr[i]);
    printf("\n");
}

图片说明

 #include<iostream>

#include<iomanip>

using namespace std;

int main()
{
    int i;

    cout<<"原来数列为:"<<endl;

    int a[11]={1,2,3,5,6,7,8,9,10,11};

    for(i=0;i<=8;i++)
    {
        cout<<setw(5)<<a[i];
    }

    int j,k,num;

    cout<<endl<<"请输入一个整数:"<<endl;

    cin>>num;

    if(num>a[9])
    {
        a[10]=num;
    }

    else
    {
        for(i=0;i<=9;i++)
        {
            if(a[i]>num)
            {
                for(j=9;j>=i;j--)
                {
                    a[j+1]=a[j];
                }

                a[i]=num;

                break;
            }
        }
    }
    cout<<"新数列为:"<<endl;

    for(i=0;i<=9;i++)
    {
        cout<<setw(5)<<a[i];
    }

    cout<<endl;

    return 0;
}