试题与答案

针对以下C语言程序,按要求回答问题。 已知link.c程序如下: /*link.

题型:问答题

题目:

针对以下C语言程序,按要求回答问题。
已知link.c程序如下:
/*link.c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入节点、删除节点和链表反转操作*/
#include<stdio.h>
#include<stdlib.h>
typedef struet list_node*list_pointer; //定义链表指针
typedef struct list_node //定义链表结构
int date;
list_pointer link;
list node;
//用到的操作函数
1ist_pointer create(); //建立一个单向链表
vold insert(list_pointer*p_ptr,list_pointer node; //在node后加入一个新的节点
void delete_node(list_pointer*p_ptr,list_pointer trail,list_pointer node);
//删除前一个节点是trail的当前节点node
void print(list_pointer*p_ptr); //打印链表节点中的值
list_pointer invert(list_pointer lead); //反转链表
int main()
list_pointer ptr=NULL;
list_pointer node,trail;
list_pointer*p=&ptr;
int choose,location,i;
printf("you should creale a link first:\n");
//建立一个单向链表
ptr=create();/*ptr指向链表的第一个节点*/
print(ptr);
//根据用户的不同选择进行相应的操作:
printf("input number 0,you can quit the program\n");
printf("input number 1,you can insert a new node to link\n");
printf("input number 2,you can delete a node from the link\n");
printf("input number 3,you can invert the link\n");
printf("please input your choice\n");
scanf("&d",&choose);
while(choose!=0)
switch(choose)
case 1:
i=1;
while(i<location)
node=node->link;

insert(p,node);/*p为指向ptr的指针*/
print(ptr);
break;
case 2:
printf("you will delete a node from the link\n");
printf("please input the location of the node:\n");
scanf("&d,&location);
node=ptr;
if(location==1)
trail=NULL;
trail=ptr;
i=1;
while(i<location)
trail=trail->link;
i++;

node=trail->link;
delete_node(p,trail,node);
print(ptr);
brcak;
ease 3:
printf("you will invert the link\n");
ptr=invert(ptr);
print(ptr);
break;
default;
break;
return-1;

printf("please input your choiee\n");
seanf("&d",&choose);

printf("please input you choice\n");
scanf("&d",&choose);
retnrn 0;
//根据用户的输入数值建立一个新的单向链表;
list_pointer create()

int i,current,length;
list_pointer p1,p2,head;
prinff("please input the node number of the link:\n");
scanf("&d",&length);
printf("the nnmber of the link is:&d",length);
printf("please input the dais for tile link node:\n");
i=0;
p1=p2=(list_pointer)malloc(sizeof(list_node));
head=p1;
for(i=1;i<length;i++)
scanf("&d",&current);
p1->data=curren1:。 p2->link=p1;
p2=p1;
p1=(list_pointer)malloc(sizeof(list_node));

p2->link=NULL;
return head;

设计一组测试用例,尽量使main函数的语句覆盖率能达到100%。如果认为该函数的语句覆盖率无法达到100%,需要说明原因。

答案:

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

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

参考答案:解析:日本谋杀奉系军阀张作霖的事件。日本帮助张作霖消灭了对手,可张作霖却不愿满足日本在东北的权益。于是,日本关东军决定除掉张作霖。1928年6月,张作霖的专车开到皇姑屯车站以东的京奉、南满两铁...

试题推荐
题型:解答题

某公司在甲、乙两仓库分别存有某种机器12台和6台,现需调往A县10台,调往B县8台.已知从甲仓库调运一台机器到A县的运费为40元,从甲仓库调运一台机器到B县的运费为80元;从乙仓库调运一台机器到A县的运费为30元,从乙仓库调运一台机器到B县的运费为50元.

设从甲仓库调往A县的机器为x台,用含有x的代数式表示(并化简):

(1)从甲仓库调往B县的机器为______台;

(2)从乙仓库调往A县的机器为______台;

(3)从乙仓库调往B县的机器为______台;

(4)调运这些机器的总运费是:______(元)(直接写答案,不必说明理由).

(5)请结合加(减)法的运算性质以及题目中的条件思考:当x为多少时,总运费最少?

答:当x为______时,总运费最少.(直接写答案,不必说明理由).

查看答案
题型:选择题

关于合力对物体速度的影响,下列说法不正确的是(  )

A.如果合力总跟速度方向垂直,则物体的速度大小不会改变,而物体的速度方向改变

B.如果合力方向跟速度方向之间的夹角为锐角,则物体的速率将增大,方向也会发生变化

C.如果合力方向跟速度方向之间的夹角为钝角,则物体的速率将减小,方向也会发生变化

D.如果合力方向跟速度方向在同一条直线上,则物体的速度方向不改变,只是速度大小发生变化

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