有一个已经排好序的数组。现输入一个数,要求按原来的规律将它插入数组中,我写的程序运行一直有问题,我自己修改不好,该怎么改才对?

问题描述:

#include<stdio.h>
int main()
{
int a[6]={1,3,5,7,9};
int j,x,t;
for(j=0;j<=5;j++)
printf("%d",a[j]);
scanf("%d",&x);
if(a[4]<x)x=a[5];
else{
a[4]=a[5];
for(j=3;j>=0;j--)
{
if(a[j]>x){a[j+1]=a[j];a[j]=x;}
else {x=a[j+1];break;}
}
}
for(j=0;j<=5;j++)
printf("%d",a[j]);
return 0;
}


#include <stdio.h>
int main()
{
    int a[6] = {1, 3, 5, 7, 9};
    int i, j, x;
    scanf("%d", &x);
    for (i = 0; i < 5; i++)
    {
        if (a[i] > x)
        {
            int temp = a[i];
            a[i] = x;
            for (j = i + 1; j < 6; j++)
            {
                int temp2 = a[j];
                a[j] = temp;
                temp = temp2;
            }
            break;
        }
    }
    if (i == 5)
    {
        a[i] = x;
    }
    for (j = 0; j <= 5; j++)
        printf("%d ", a[j]);
    return 0;
}