C语程序设计

来源:百度知道 编辑:UC知道 时间:2024/05/19 04:05:57
#include"stdio.h"
main()
{
int a[10]={0,-1,12,96,188,249,800};
int x,i,j=6;
printf("请输入一个数:");
scanf("%d",&x);
a[0]=x;
____________;
while(________)
{
a[i+1]=a[i];
_________;
}
a[++i]=x;
j++;
for(i=1;i<=j;i++)
printf("%8d",a[i]);
printf("\n");

}

已知数组a中的元素按由小到大顺序排列.以下程序的功能是将输入的一个数插入数组a中,插入后,数组a中的元素仍然由小到大排列.请填空

并解释 每行的意思.谢谢

include"stdio.h"
main()
{
int a[10]={0,-1,12,96,188,249,800};(定义一组整形数组)
int x,i,j=6;(定义3个整数变量,并给J赋值为6)
printf("请输入一个数:");
scanf("%d",&x);(给X输入一个值)
a[0]=x;(把X的值赋值给数组a中的a【0】,意思是把要插入的数给放a[0]里)
i=6;(给i赋值)
while(a(i)>x)(while语句的循环,当a(i)>x是循环结束)
{
a[i+1]=a[i];(把a数组中的第i个数后移一位)
i--;(i的值减一)
}
a[++i]=x;(把X的值赋给a[i+1])
j++;(j的值加一)
for(i=1;i<=j;i++)(for循环作用是从a[1]开始输出数组a)
printf("%8d",a[i]);
printf("\n");

}

如果a[0]只是为了保存x的话答案为:
#include"stdio.h"
main()
{
int a[10]={0,-1,12,96,188,249,800};
int x,i,j=6;
printf("请输入一个数:");
scanf("%d",&x);
a[0]=x;
i=6;
while(a[i]>x)
{
a[i+1]=a[i];
i--;
}
a[++i]=x;
j++;
for(i=1;i<=j;i++)
printf("%8d",a[i]);
printf("\n");