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

题型:问答题

问题:

针对以下C语言程序,请按要求回答问题。
已知link. c源程序如下:
/*link. c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入结点、删除结点和链表反转操作*/
#include<stdio.h>
#include<stdlib.h>
typedef struct list_node*list_pointer; //定义链表指针
typedef struct list_node //定义链表结构
int data;
list_pointer link;
list_node;
//用到的操作函数
list_pointer create(); //建立一个单向链表
void 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 create a link first:\n");
prt=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 linkkn");
printf("input number 3, you can invert the link\n");
printf("please input you choicekn");
scanf(" %d", &choose)
while(choose!=0)
switch(choose)
case 1:
i=1;
while(i<location)
node=node->link;
i++;

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);
break;
case 3:
printf("you will invert the link\n");
ptr=invert (ptr)
print(ptr);
break;
default :
break
return -1:

printf("please input you choice\n");
scanf("%d",&choose);

return 0;
//根据用户的输入值建立一个新的单向链表:
list_pointer create()

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

p2->link=NULL;
return head;

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

考点:计算机等级考试软件测试工程师覆盖率(白盒)测试(一)
题型:问答题

药品费用急剧上涨的合理因素是()

A.零售药店少

B.人口增加和老龄化

C.以药养医

D.财务管理人员不足

E.新药科研资金少

题型:问答题

银芽柳属于下列()花卉类型。

A、观花花卉

B、观芽花卉

C、观茎花卉

D、观叶花卉

题型:问答题

急性炎症性脱髓鞘性多发性神经病主要死亡原因是()

A.循环衰竭

B.肾衰竭

C.严重感染

D.肝衰竭

E.呼吸衰竭

题型:问答题

人力资源市场

题型:问答题

下列食品中,符合国家卫生标准,能让我们放心食用的是()。

A.蛋白含量少的“空壳”奶粉

B.含“瘦肉精”的猪肉

C.“染色”的玉米馒头

D.环保的绿色食品

更多题库