●试题四阅读下列程序说明,将在空缺处填入正确的内容。【程序说明】定义一个多边形结构:struct polygon实现以下内容: (1) 建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。 (2) 显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。 (3) 编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。【程序】#include"iostream.h"#include"iomanip.h"struct polygon{int n;int *x;int *y;polygon *next;};void Push(polygon* head,int n){polygon*newNode=new polygon;newNode=new polygon;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坐标,坐标值之间用空格分隔:";cinnewNode-x[i]newNode-y[i];}(4) =head;// 在head前不需要额外的*head=newNode;}polygon *create(){polygon*head=NULL;polygon*tail;int n;cout"请输入多边形顶点的个数(顶点个数为0时结束):";cinn;if(n==0)return (5) ;Push(head, (6) ;tail=head;cout"请输入多边形顶点的个数(顶点个数为0时结束):";cinn;while(n!=0){Push(tail-next, (7) ;//在tail-next增加结点tail=tail-next;//advance tail to point to last nodecout"请输入多边形顶点的个数(顶点个数为0时结束):";cinn;}return head;}void disp(polygon*head){int i,No=1;coutsetw (10) "x"setw (6) "y"endl;while(head!=NULL){cout"第"No"结点:"endl;for(i=0;i=head-n-1;i++)coutsetw (10) head-x[i]setw (6) head-y[i]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);}

●试题四

阅读下列程序说明,将在空缺处填入正确的内容。

【程序说明】

定义一个多边形结构:struct polygon实现以下内容: (1) 建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。 (2) 显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。 (3) 编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。

【程序】

#include"iostream.h"

#include"iomanip.h"

struct polygon

{

int n;

int *x;

int *y;

polygon *next;

};

void Push(polygon*& head,int n)

{

polygon*newNode=new polygon;

newNode=new polygon;

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[i]>>newNode->y[i];}

(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"<<endl;

while(head!=NULL)

{

cout<<"第"<<No<<"结点:"<<endl;

for(i=0;i<=head->n-1;i++)

cout<<setw (10) <<head->x[i]<<setw (6) <<head->y[i]<<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)~(8)空缺处的内容填写完整。

试题(37)在进行软件编码规范评测过程中需要围绕几个方面的内容展开,以下描述中不属于编码规范评测内容的有(37) 。(37)A.源程序文档化检查,包括符号名的命名、程序的注释等规范性检查B.数据说明检查,包括数据说明次序、语句中变量顺序检查C.程序结构检查,程序应采用基本的控制结构、避免不必要的转移控制等D.程序逻辑检查,阅读源代码,比较实际程序控制流与程序设计控制流的区别

阅读下列利用递归来求n!的程序。 为保证程序正确运行,在下画线处应该填入的参数是( )。A.n-1S 阅读下列利用递归来求n!的程序。为保证程序正确运行,在下画线处应该填入的参数是( )。A.n-1B.n-2C.nD.n+l

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。【说明】阅读下面几段C++程序回答相应问题。比较下面两段程序的优缺点。①for (i=0; i<N; i++ ){if (condition)//DoSomething…else//DoOtherthing…}②if (condition) {for (i =0; i<N; i++ )//DoSomething}else {for (i=0; i <N; i++ )//DoOtherthing…}

阅读下列说明,回答问题1至问题2,将解答填入答题纸的对应栏内。[说明]如图10-4所示是电子商务系统平台结构示意图。请把空缺的地方填写完整。

要下列Java Applet程序完整并能够正确运行,横线处应填入的内容是( )。 A.extends Thread 要下列Java Applet程序完整并能够正确运行,横线处应填入的内容是( )。A.extends ThreadB.extends AppletC.extends CharD.extends Float

●试题二阅读下列函数说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】该程序运行后,输出下面的数字金字塔【程序】includestdio.hmain (){char max,next;int i;for(max=′1′;max=′9′;max++){for(i=1;i=20- (1) ;++i)printf(" ");for(next= (2) ;next= (3) ;next++)printf("%c",next);for(next= (4) ;next= (5) ;next--)printf("%c",next);printf("\n");}}

试题三(共 15 分)阅读以下说明和 C 程序,将应填入 (n) 处的字句写在答题纸的对应栏内。

()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]下面程序是一个带参数的主函数,其功能是显示在命令行中输入的文本文件内容。[C语言函数]#include"stdio.h"main(argc,argv) int argc; char *argv[]; { (1) ; if((fp=fopen(argv[1],”r’’))== (2) ) { printf(”file not open!\n”);exit(0);} while( (3) ) putchar( (4) ); (5); }

一个程序包应包含常数说明、数据类型说明、元件定义、子程序说明等四种内容。