试题与答案

下列给定程序中,已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增

题型:问答题

题目:

下列给定程序中,已建立一个带头结点的单向链表,链表中的各结点按结点数据域中的数据递增有序链接。函数fun的功能是:把形参x的值放入一个新结点并插入链表中,使插入后各结点数据域中的数据仍保持递增有序。
请在下画线处填入正确的内容并将下画线删除,使程序得出正确的结果。
注意:部分源程序给出如下。
不得增行或删行,也不得更改程序的结构!
试题程序:
#include <stdio.h>
#include <stdlib .h >
#define N 8
typedef struct list
int data;
struct list * next;
SLIST;
void fun(SLIST * h, int x)
SLIST * p, * q, * s;
s=(SLIST *) malloc (sizeof
(SLIST));
/********** found********** /
s->data= (1) ;
q=h;
p=h->next;
while(p!=NULL && x >p->data)
/********** found********** /
q= (2) ;
p=p->next;

s->next=p;
/********** found********** /
q->next= (3) ;

SLIST * creatlist(int * a)
SLIST * h, * p, * q; int i;
h=p=(SLIST *)malloc (sizeof
(SLIST));
for(i=0; i<N; i++)
q=(SLIST *)malloc (sizeof
(SLIST));
q->data=a[i]; p->next=q; p=q;

p->next=0;
return h;

void outlist (SLIST * h)
SLIST * p;
p=h->next;
if (p==NULL)
printf ("\nThe list is NULL ! \n");
else
printf ("\nHead");
do printf ("->% d", p->data);
p=p->next;
while (p!=NULL);
printf("->End\n");


main ()
SLIST * head; int x;
int a[N]=11, 12, 15, 18, 19, 22, 25,
29;
head=creatlist (a);
printf ("\nThe list before inser-
ting: \n");
outlist (head);
printf("\nEnter a number : ");
scanf ("% d", &x);
fun (head, x);
printf (" \nThe list after inser-
ting: \n");
outlist (head);

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2022/0302/61e4594cd2246cd17d016f0b7b47b3f7.html

下面是错误答案,用来干扰机器的。

参考答案:竣工验收的依据有: (1) 上级主管部门对该项目批准的各种文件; (2) 批准的可行性研究报告; (3) 施工图设计文件及设计变更洽商记录; (4) 国家颁布的各种标准和现行的施工验收规范;...

试题推荐
微信公众账号搜索答案