试题与答案

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

题型:问答题

题目:

针对以下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<looation)
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的控制流程图。

答案:

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

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

参考答案:A解析: 物质和运动是不可分的,物质离不开运动、无运动的物质是不存在的,设想不运动的物质是形而上学的观点。运动也离不开物质,任何运动都有物质主体,都是物质的运动,没有脱离物质的运动,设想没...

试题推荐
题型:实验题

在学完“二氧化碳性质的探究”后,小明同学觉得按照课本实验(图①)不能完全说明是什么物质使紫色石蕊溶液变为红色。他和小娜同学进行了如下实验探究:

【猜想与假设】

猜想一:水使紫色石蕊溶液变红

猜想二:二氧化碳使紫色石蕊溶液变红

猜想三:二氧化碳与水反应生成的新物质使紫色石蕊溶液变红

【查阅资料与实验准备】

(1)将纸条浸泡在紫色石蕊溶液中,晾干后可制得紫色石蕊试纸。

(2)自制的紫色石蕊试纸遇酸变红色,遇碱溶液变蓝色。

1.【设计与实验】小明同学设计了实验装置如图②。图中b为紫色石蕊试纸,缠绕在小试管上;a、c为湿润的紫色石蕊试纸,缠绕在小试管上。

(1)通过对比观察图中a、b得出结论:猜想_________不正确。

(2)打开活塞K,滴入稀硫酸,观察并解释实验现象:

①试纸b没有明显变化,得出结论:猜想_______不正确。

②试纸a、c由紫色变为红色,得出结论:_______________________(用化学方程式表示)猜想________正确。

③试纸______首先变色,其原因是________________________________。

2.【交流与反思】小娜同学认为,上图装置还可以同时验证:①二氧化碳能使澄清石灰水变浑浊;②二氧化碳不能燃烧也不支持燃烧。为了完成小娜同学的两个验证实验,请你对上面的实验裴置进行简单的改进:____________________________________、_________________________________。

查看答案
题型:单项选择题

关于第二心音的形成原因下列错误的是

A.第二心音由四种成分组成

B.第二心音第二成分可分为二个成分:肺动脉瓣关闭在前,形成该音的肺动脉瓣成分,主动脉瓣关闭在后,形成该音的主动脉瓣成分

C.第二成分是第二心音可听到的成分

D.第二成分为较高频率和较高振幅的振动

E.第二成分的产生原因通常认为是血流在主动脉与肺动脉内突然减速和半月瓣突然关闭引起瓣膜振动所致

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