首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
阅读下列程序说明,将在空缺处填入正确的内容。 【程序说明】 定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指
阅读下列程序说明,将在空缺处填入正确的内容。 【程序说明】 定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指
admin
2009-02-15
67
问题
阅读下列程序说明,将在空缺处填入正确的内容。
【程序说明】
定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。(3)编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。
【程序】
#include "iomanip.h"
struct polygon
{
int n;
int* x;
int *y;
polygon * next;
};
void Push(polygon * & head,int n)
{
polygon * newNOde=newpolygon;
newNOde=newpo,Ygon;
newNOde->next=(1);
newNOde->x=new int [n];
newNOde->y=new int[n];
newNOde->n=(2);
for(int i=0;i<=(3);i++){
cout<<“请输入多边形各顶点x、y坐标,坐标值之间用空格分隔:”;
cin>>newNOde->x
>>newNOde->y
;
}
(4)=head; //在head前不需要额外的。
head=newNOde;
}
polygon * create()
{
polygon * head=NULL;
polygon * tail;
int n;
cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;
cin>>n;
if(n==0)return (5);
Push(head, (6);
tail=head;
cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;
cin>>n;
while(n!=0)
{
Push(tail->next,(7); //在tail->next增加结点
tail =tail->next; //advance tail to point to last node
cout<<“请输入多边形顶点的个数(顶点个数为0时结束):”;
cin>>n;
}
return head;
}
void disp(polygon * head)
{
int i,No=1;
cout<<setw(10)<<"x" <<setw(6)<<"y"<<end1;
while(head!=NULL)
{
cout<<“第” <<No<<“结点:” <<end1;
for(i=0;i<=head->n-1;i++)
cout<<setw(10)<<head- >x
<<setw(6)<<head- >y
<<endl;
(8);
head=(9);
}//Match while statement
}
void del(polygon * head)
{
polygon * p;
while(head!=NULL)
{
p=(10);
head=head->next;
delete p->x;
delete P->y;
deletep;
}//Match while statement
}
void main()
{
polygon * head;
head=create();
disp(head);
del(head);
}
选项
答案
(1)NULL(2)n(3)n-1(4)newNode->next (5)head(6)n(7)n(8)No++(9)head->next (10)head
解析
如果掌握了链表的创建、遍历和删除的方法,解决本题应该并不困难。要显示链表各结点的数据,就是要把各结点找到,然后把该结点的每一个x、y坐标打印出来。不过,与普通的链表也有不同的地方:就是该链表的结点数据是指针。要在链表结点中存入数据,必须先动态分配存储数据的内存单元;要删除链表中的各个结点,必须先释放结点数据的内存单元,否则会造成内存泄露。
转载请注明原文地址:https://www.kaotiyun.com/show/EuDZ777K
本试题收录于:
软件设计师下午应用技术考试题库软考中级分类
0
软件设计师下午应用技术考试
软考中级
相关试题推荐
关系数据库管理系统应能实现的专门关系运算包括______。A.选择、索引、统计B.选择、投影、连接C.关联、更新、排序D.显示、打印、制表
以下关于软件生命周期的叙述不正确的是______。A.软件生命周期包括以下几个阶段:项目规划、需求定义和需求分析、软件设计、程序编码、软件测试、运行维护B.程序编码阶段是将软件设计的结果转换成计算机可运行的程序代码。为了保证程序的可读性、易维护性和提高
若程序在运行时陷入死循环,则该情况属于______。
逻辑覆盖标准包括()。①判定覆盖②语句覆盖③条件判定覆盖④修正条件判定覆盖
____________开发过程模型以用户需求为动力,以对象作为驱动,适合于面向对象的开发方法。
在数据库逻辑设计阶段,若实体中存在多值属性,那么将E-R图转换为关系模式时,___________,得到的关系模式属于4NF。
以下关于用例图的叙述中,不正确的是(44)。图书馆管理系统需求中包含“还书”用例和“到书通知”用例,对于“还书”用例,应先查询该书是否有人预定,若有则执行“到书通知”。“还书”用例和“到书通知”用例是(45)关系,以下用例图中,(46)是正确的。管理员处
某教学管理数据库中,学生、课程关系模式和主键分别为:S(学号,姓名,性别,家庭住址,电话),关系S的主键为学号;C(课程号,课程名,学分),关系C的主键为课程号。假设一个学生可以选择多门课程,一门课程可以由多个学生选择。一旦学生选择某门课程必定有该课程的成
在结构化分析中,用数据流图描述(42)。当采用数据流图对银行客户关系管理进行分析时,(43)是一个加工。(42)
已知函数f()、g()的定义如下所示,调用函数f时传递给形参x的值是5。若g(a)采用引用调用(callbyreference)方式传递参数,则函数f的返回值为(12);若g(a)采用值调用(callbyvalue)的方式传递参数,则函数f
随机试题
可待因主要用于
建设项目的实施实行项目法人责任制,_______对工程质量负总责。()
NO参与心血管活动调节的途径有
患者,女,18岁。身高1.40m,月经一直未来潮。智力正常,第二性征未发育,血FSH升高,雌二醇水平低下。最可能的诊断是
相邻两牙在中线上对应两点之间的轴向距离叫()。
AAAA级旅游景区年接待海内外旅游者50万人次以上,其中海外旅游者()人次以上。
培训准备工作与培训方案是两个阶段的工作,不具相关性。()
给定材料1.科学素质是公民素质的重要组成部分。公民具备基本科学素质一般指了解必要的科学技术知识,掌握基本的科学方法,树立科学思想,崇尚科学精神,并具有一定的应用它们处理实际问题、参与公共事务的能力。公民科学素质通常用公民科学素质指标(C
习近平总书记在考察时强调,只要还有一家一户乃至一个人没有解决基本生活问题,我们都不能_________;只要群众对幸福生活的_________还没有变成现实,我们都要毫不懈怠团结带领群众一起奋斗。填入划横线部分最恰当的一项是:
“化农民”与“农民化”是晏阳初进行乡村建设的途径和目标。
最新回复
(
0
)