C中数组插入

来源:百度知道 编辑:UC知道 时间:2024/05/23 02:20:19
若有数组a定义如下: int a[30]={33, 56,89,90}; 编写程序实现以下功能:
能重复插入数据,直至输入-1时结束数据的插入操作。
将数据插入至合适位置使得数组按升序存放。
每次插入一个数据后将数组输出察看结果。

/*这份代码经源码格式软件格式化过
yang_hx@neusoft.com */
int main()
{
int a[30]={33,56,89,90},i,j,t,k=4 ;
while(scanf("%d",&i)&&i!=-1)
{
for(j=0;j<30;j++)
{
if(i<a[0]){
for(t=k+1;t>j+1;t--)a[t]=a[t-1];
a[j]=i ;
for(i=0;i<k+1;i++)printf("%d ",a[i]);
k++;
break ;
}
if(i>=a[j]&&(i<a[j+1]||a[j+1]==0))
{
for(t=k+1;t>j+1;t--)a[t]=a[t-1];
a[j+1]=i ;
for(i=0;i<k+1;i++)printf("%d ",a[i]);
k++;
break ;
}
}
}
}