c语言,程序填空,从键盘输入一个数,将其插入一个升序数组中,保持数组仍按升序输出

#include <stdio.h>
void main()
{int data,temp,k;
static int a[9]={1,3,5,10,12,25,45,50};
printf("\nEnter a data:");
scanf("%d",&data);
_______;
for(k=8;______;k--);
if(a[k]<a[k-1]){______;
a[k]=a[k-1];
a[k-1]=temp;
}else_____;
for(k=0;______;k++)
printf("%7d",a[k]); }

第1个回答  2011-06-10
题目好像出错了,for循环后面加分号,就实现不了。

#include <stdio.h>
void main()
{int data,temp,k;
static int a[9]={1,3,5,10,12,25,45,50};
printf("\nEnter a data:");
scanf("%d",&data);
a[8]=data;
for(k=8;k>=0;k--)
{
if(a[k]<a[k-1]){temp=a[k];
a[k]=a[k-1];
a[k-1]=temp;
}else break;
}
for(k=0;k<9;k++)
printf("%7d",a[k]); }本回答被提问者采纳
第2个回答  2011-06-10
#include <stdio.h>
void main()
{int data,temp,k;
static int a[9]={1,3,5,10,12,25,45,50};
printf("\nEnter a data:");
scanf("%d",&data);
a[8]=data;
for(k=8;k>0;k--)
if(a[k]<a[k-1])
{temp=a[k];
a[k]=a[k-1];
a[k-1]=temp;
}
else
break;
for(k=0;k<9;k++)
printf("%7d",a[k]);
getch();
}

注:getch();不要也可。
注意 for 循环 多用了个分号。
第3个回答  2011-06-10
#include <stdio.h>
void main()
{int data,temp,k;
static int a[9]={1,3,5,10,12,25,45,50};
printf("\nEnter a data:");
scanf("%d",&data);
a[8]=data;
for(k=8;k>=0;k--)
if(a[k]<a[k-1])

{temp=a[k];
a[k]=a[k-1];
a[k-1]=temp;

}
else;

for(k=0;k<9;k++)
printf("%7d",a[k]); }
第4个回答  2011-06-10
1.a[8]=data
2.k>=0
3.temp=a[k]
4.a[k]=data;
5.k<=8;
第5个回答  2011-06-10
把这个数加入数组,再排序一次也可以 虽然麻烦不过也算是一种方法