C语言问题,紧急!多谢各位高手帮忙

来源:百度知道 编辑:UC知道 时间:2024/06/19 15:03:20
有一个已排好序的数组,要求按原来的排序规律将它插入到数组中。
如原数据为1,3,5,7需插入4,插入后1,3,4,5,7.
Thanks!!

#include"stdio.h"
main()
{
int a[4]={1,3,5,7};
int t1,t2,number,end,i,j;
printf("初始数组如下:");
for(i=0;i<4;i++)
printf("%3d",a[i]);
printf("\n");
printf("输入插入数据:");
scanf("%d",&number);
end=a[3];
if(number>end)
a[4]=number;
else
{ for(i=0;i<4;i++)
{ if(a[i]>number)
{t1=a[i];
a[i]=number;
for(j=i+1;j<5;j++)
{ t2=a[j];
a[j]=t1;
t1=t2;
}
break
}
}
}
for(i=o;i<5;i++)
printf("%4d",a[i]);

}
应该是对的,我也没有调试!

====================================================
算法思想简单描述:

在要排序的一组数中,假设前面(n-1) [n>=2] 个数已经是排
好顺序的,现在要把第n个数插到前面的有序数中,使得这n个数
也是排好顺序的。如此反复循环,直到全部排好顺序。