首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
针对以下C语言程序,请按要求回答问题。 已知link. c源程序如下: /*link. c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入结点、删除结点和链表反转操作*/ #include<stdio. h
针对以下C语言程序,请按要求回答问题。 已知link. c源程序如下: /*link. c程序对单向链表进行操作,首先建立一个单向链表,然后根据用户的选择可以对其进行插入结点、删除结点和链表反转操作*/ #include<stdio. h
admin
2013-03-13
62
问题
针对以下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 link\n");
printf("input number 3,you can invert the link\n"):
printf("please input you choice\n");
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",&current);
p1->data=current;
p2->link=p1;
p2=p1;
p1=(list_pointer)malloc(sizeof(list_node));
}
p2->link=NULL;
return head;
}
设计一组测试用例,尽量使main函数的语句覆盖率能达到100%。如果认为该函数的语句覆盖率无法达到100%,需要说明原因。
选项
答案
设计测试用例如下: 输入数据:choose=0,预期输出:0。 输入数据:choose=1,预期输出:在链表某位置的结点后插入一个结点。 输入数据:choose=2,预期输出:删除链表中某个位置的结点。 输入数据:choose=3,预期输出:反转链表的链接顺序。 输入数据:choose=其他非零数,预期输出:-1。 采用条件覆盖设计的测试用例如下表所示。 [*]
解析
转载请注明原文地址:https://www.kaotiyun.com/show/zaNZ777K
本试题收录于:
四级软件测试工程师题库NCRE全国计算机四级分类
0
四级软件测试工程师
NCRE全国计算机四级
相关试题推荐
在编译程序中,语法分析的方法有自底向上分析和自顶向下分析。自底向上分析方法自左向右扫描输入符号串,通过(46)分析其语法是否正确。例如,(47)就是一种自底向上的分析方法,与其他自底向上分析方法不同,它是根据(48)来进行归约的。自顶向下分析方法从文法的开
在编译程序中,语法分析的方法有自底向上分析和自顶向下分析。自底向上分析方法自左向右扫描输入符号串,通过(46)分析其语法是否正确。例如,(47)就是一种自底向上的分析方法,与其他自底向上分析方法不同,它是根据(48)来进行归约的。自顶向下分析方法从文法的开
UML提供了5种对系统动态方面建模的图,其中(49)对系统行为组织和建模尤为重要。
某C语言程序中,x是一个实型变量,y是一个正整数。对于x被y除取余数的表达式“x%y”是一种(36)错误。
(17)这一计算机软件著作权权利是不可以转让的。
软件开发的螺旋模型综合了瀑布模型和演化模型的优点,还增加了(6)。采用螺旋模型时,软件开发沿着螺线自内向外旋转,每转一圈都要对(7)进行识别和分析,并采取相应的对策。螺旋线第一圈的开始点可能是一个(8)。从第二圈开始,一个新产品开发项目开始了,新产品的演化
具有独立法人的组织甲于1993年11月15日首次发表《XX》软件。组织甲于1996年 10月21日变更、终止,其权利义务由组织乙承担。组织乙对该软件享有的著作权的保护期应于(64)截止。
数据结构是—门研究非数值计算的程序设计问题中计算机的(34)以及它们之间的(35)和运算等的学科。
非对称数据用户线ADSL的下行速率最高可达(62),通常使用(63)对线进行信息传输。
随机试题
血虚证的主要表现,不可见的是
Youmightaswell______yourmoneyasspenditingambling.
青年男性患者,右眼红痛,畏光,视力下降4天。眼部检查:右眼视力0.8,矫正无提高,右眼结膜睫状充血+,尘状KP(++),Tyn(+),房水细胞(+),瞳孔圆,直径约2.5mm,晶状体透明,玻璃体未见混浊,眼底未见异常。左眼视力1.0,无充血,角膜透明,KP
引起中药不良反应及药源性疾病的常见因素有()
医生甲退休后,擅自为人看病2年多。某日,甲为乙治疗,需注射青霉素。乙自述以前曾注射过青霉素,甲便未做皮试就给乙注射青霉素,乙因青霉素过敏而死亡。关于本案,下列哪一选项是正确的?(2013年卷二18题)
()是一种介于纳滤和微滤之问的膜分离技术。
世界上最早的一部教育专著是【】
态度与品德学习的过程包括的三个阶段是()。
已知向量组α1,α2,α3,α4线性无关,则向量组2α1+α3+α4,α2一α4,α3+α4,α2+α3,2α1+α2+α3的秩是()
Inthissection,youareaskedtowriteanessaybasedonthefollowinginformation.Makecommentsandexpressyourownopinion.
最新回复
(
0
)