有一C程序不知道哪错了
题目是这样的:从键盘输入N个实数将其存放到一个一维数组,按降序排列数组元素后,从键盘读入一个插入的实数,将其插入到数组中合适的位置。。。例如输入N=4 ,原数组为: 5 4 3 1 插入2.1
插入后的数组为:5 4 3 2.1 1
我的程序是:
#include "stdio.h"
#define N 4
main()
{float a[N], x,t;int i,j;
printf("input n=:");
scanf("%f",&x);
printf("input a[N]:");
for(i=0;i<N;i++) scanf("%f",&a[i]);
for(j=1;j<N;j++) for(i=0;i<N-j;i++)
{if(a[i]>a[i+1]) {t=a[i];a[i]=a[i+1];a[i+1]=t;}}
i=N-1;
while(i>=0&&a[i]<x)
{a[i+1]=a[i];
i--;}
a[i]=x;
for(i=0;i<N+1;i++) printf("%f\n",a[i]);
}