完成代码将x插入到该顺序有序线性表中,要求该线性表依然有序

时间:2023-01-23 22:53:44

#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;

}