试题与答案

在给定程序中,函数fun的功能是:将不带头结点的单向链表逆置。即若原链表中从头至尾结

题型:填空题

题目:

在给定程序中,函数fun的功能是:将不带头结点的单向链表逆置。即若原链表中从头至尾结点数据域依次为:2、4、6、8、10,逆置后,从头至尾结点数据域依次为:10、8、6、4、2。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:源程序存放在考生文件夹下的BLANK1.C中。不得增行或删行,也不得更改程序的结构。
文件BLANK1.C内容如下:
#include<stdio.h>
#include<stdlib.h>
#define N 5
typedef struct node
int data;
struct node *next;
NODE;
/**********found**********/
(1) fun(NODE *h)

NODE *p,*q,*r;
p=h;
if(p==NULL)return NULL;
q=p->next:
p->next=NULL;
/**********found**********/
while( (2) )
r=q->next;
q->next=p;
p=q;
/**********found**********/
q= (3)

return p;

NODE *creatlist(int a[]) NODEh,*p,*q;
int i;
h=NULL;
for(i=0;i<N;i++)
q=(NODE%)malloc(sizeof(NODE));
q->data=a[i];
q->next=NULL;
if(h==NULL)h=p=q;
else p->next=q;p=q;

return h;

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


void main( )
NODE *head;
int a[N]=2,4,6,8,10;
head=creatlist(a):
printf("\nThe original list: \n");
outlist(head);
head=fun(head);
printf("\nThe list after inverting: \n");
outlist(head);

答案:

被转码了,请点击底部 “查看原文 ” 或访问 https://www.tikuol.com/2018/0330/a5266f5744a096a19e1f85945a852e72.html

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

参考答案:A, B, D

试题推荐
题型:单项选择题

甲公司2005年6月5日以银行存款购入乙公司已宣告但尚未领取现金股利的股票100万股,作为短期投资,每股成交价格为15.5元,其中,0.3元为已宣告但尚未领取的现金股利,另支付相关税费50万元。甲公司6月20日在未收到乙公司发放现金股利前,出售该股票20万股,每股成交价格为17元,另支付相关税费10万元。则甲公司出售乙公司股票的投资收益为( )万元。

A.17

B.20

C.16

D.10

查看答案
微信公众账号搜索答案