完成代码将x插入到该顺序有序线性表中,要求该线性表依然有序
#include <stdio.h>
#include <malloc.h>
int main(void)
{
int i, n;
double s = 1.3;
double x;
double *p;
p = (double *)malloc(sizeof(double) * 100);
for (n = 0; n < 50; n++)
{
*(p + n) = s;
s += 2.9;
}
scanf("%lf", &x); //第18行代码
//完成代码将x插入到该顺序有序线性表中,要求该线性表依然有序
//注:已经写入了50个元素,再插入1个,就是51个元素
//begin
for(i=0;i<50;i++)
{
while(*(p+i)<=x)
i++;
for(n=49;n>i-1;n--)
{
*(p+n+1)=*(p+n);
}
*(p+i)=x;
break;
}
//end
//插入x后,输出该顺序有序线性表的内容
for (i = 0; i < 51; i++)
{
printf("%5.1f, ", p[i]);
if ((i + 1) % 10 == 0)
{
printf("\n");
}
}
return 0;
}