这个怎么编程 求指导 有谁知道吗

从键盘输入n 个(0<n≤9)有序整数,再输入一个整数 x 并把 x 插人到这组数据中 使该 组数据仍然有序。例如:先输入5 再输入5个有序整数为2 3 6 7 9后 最后输入要插入的4(即x的值) 则输出应为:2 3 4 6 7 9, 以下源程序有错误,请改正后使结果正确。

以下源程序有错误,请改正后使结果正确。
把源程序发一下啊
你题目的解答代码如下:

#include<stdio.h>
int main()
{
    int i,n,x;
    scanf("%d", &n);
    int a[n+1];
    for( i=0; i<n; i++ )
        scanf("%d", &a[i]);
    scanf("%d", &x);
    for( i=n-1; i>=0; i-- )
    {
        if (a[i]<x)
            break;
        a[i+1] = a[i];
    }
    a[i+1] = x;
    for( i=0; i<n+1; i++ )
        printf("%d ", a[i]);
    return 0;
}

img

如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!

img

参考:

#include "stdio.h"
int main()
{
    int a[6] = {1,3,5,7,9};
    int i,n,pos=-1;
    scanf("%d",&n);
    for(i=0;i<5;i++){
        if(n==a[i]){
            printf("数据已经存在\n");
            return 0;
        }
        if(n<a[i]){
            pos = i;
            break;
        }
    }
    if(pos==-1)
        pos = 5;
    for(i=5;i>pos;i--){
        a[i]=a[i-1];
    }
    a[pos] = n;
    
    for(i=0;i<6;i++)
        printf("%d\t",a[i]);
        
    return 0;
}