题目详情
当前位置:首页 > 计算机考试 > 中级软件设计师
题目详情:
发布时间:2023-10-22 02:55:10

[简答题]【程序说明】
定义一个多边形结构:struct polygon实现以下内容:(1)建立该结构的链表:create函数是创建链表,每输入一个结点的数据,就把该结点加入到链表当中,它返回创建的链表的头指针。(2)显示链表的各个结点数据:结点数据包括:多边形顶点数、各顶点的纵横坐标、当多边形顶点数为0时,链表创建结束。(3)编写一个函数disp,删除链表中的所有结点。需要注意的是:要先释放结点数据内存,再删除结点,如果在释放结点数据内存单元之前删除结点,则无法找到结点数据内存单元的地址,也就无法释放数据的内存单元。
【程序】
#include "iostxeam. h"
#include "iomanip. h"
stmct 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;

更多"【程序说明】 定义一个多边形结构:struct polygon实现以"的相关试题:

[简答题]【程序说明】 定义一个多边形结构: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[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;
[简答题]【程序说明】
定义一个多边形结构: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[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) <
[多项选择]在质量管理体系的文件要求中,“形成文件的程序”涵盖了建立该程序、将该程序形成文件以及()方面的要求。
A. 明确该程序的责任人
B. 实施该程序
C. 监视和测量该程序
D. 保持该程序
E. 改进该程序
[简答题]【程序说明】 该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。 【程序】 #include<stdio.h> void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中 { char t,*w; w=c; while( (1) ) {//找到字符串a,b当前字符中较小的字符 if(*a< *b) { t= *a; (2) ; { else if (*a>*b) { t= *b; (3) ; } else //字符串a,b当前字符相等 { t= *a; a++; b++; } if( (4) ) //开始,可直接赋值 *w=t; else if(t!=*w) //如果a,b中较小的当前字符与c中当前字符不相等,才赋值 (5) ; } if(*a!=/’/0’) //如果字符串a还没有结束,则将a的剩余部分赋给C while(*a!=’/0’) if(*a!=*w) { *(++w)=*a; a++; } else (6) ; if(*6!=’/0’) //如果字符串b还没有结束,则将b的剩余部分赋给c while(*b!=’/0’) if(*b! = *w) { *(++w)=*b; b++; } else b++; (7) ; } void strsort(char*s) //将字符串S中的字符
[简答题]【程序说明】
该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。
【程序】
#include<stdio.h>
void strmerge(char,a,char *b,char *c) //将字符串a,b合并到字符串c中

char t,*w;
w=c;
while( (1) )
//找到字符串a,b当前字符中较小的字符
if(*a< *b)

t= *a;
(2)

else if (*a>*b)

t= *b;
(3)

else //字符串a,b当前字符相等

t= *a;
a++;
b++;

if( (4) ) //开始,可直接赋值
*w=t;
else if(t!=*w)
//如果a,b中较小的当前字符与c中当前字符不相等,才赋值 (5)

if(*a!=/’/0’) //如果字符串a还没有结束,则将a的剩余部分赋给C
while(*a!=’/0’)
if(*a!=*w)

*(++w)=*a;
a++;

else
(6)
if(*6!=’/0’) //如果字符串b还没有结束,则将b的剩余部分赋给c
while(*b!=’/0’)
if(*b! = *w)
[简答题]
阅读下列说明和C++程序,将应填入(n)处的字句写在对应栏内。
【程序1说明】
程序1中定义了数组的类模板,该模板使得对于任意类型的二维数组,可以在访问数组元素的同时,对行下标和列下标进行越界判断,并给出相应的提示信息(C++语言本身不提供对下标越界的判断)。
【程序1】
#include < iostream. h >
template < class T > class Array2D;
template < class T > class Array2DBody {
friend (1) ;
T * tempBody;
int iRows, iColumns, iCurrentRow;
Array2DBody(int Rows,int Cols) {
tempBody = (2) ;
iRows = Rows;
iColumns = Cols;
iCurrentRow = -1;
}
public:
T& operator[ ] (int j){
bool row_ error, column_ error;
row_ error = column_ error = false;
try {
if ( iCurrentRow < 0||iCurrentRow > = iRows)
row_ error = true;
if( j < 0||j > = iColumns)
column_error = true;
if( row_error = = true [ [ column_ error = = true)
(3) ;
}
catch(char) {
if (row_error = = true)
cerr < < "行下标越界"[" < < iCurrentRow < < "]";

[简答题]【说明】
源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。
①定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。
②定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。
③完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。
④完成Money类成员函数float Money::TotalMoney(float fencelen,float conarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
源程序文件test4.cpp清单如下:
#include<iostream.h>
(1)
class Circle

private:
float radius;
public:
(2)
float Circumference( )return 2 * P| * radius;
float Area( )return P|*radius * radius;

class Money

private:
float FencePrice;
float ConcretePrice;
public:
Money(float f,float c);
float Tota|Money(float fencelen, float conarea);
;
Money::Money(float f,fl
[简答题]【说明】 源程序中定义了Circle类与Money类,Circle类可对半径为r的圆进行周长与面积的计算,而Money类用于计算一圆形游泳池的造价。游泳池四周有原形过道,过道外围上栅栏,过道宽度为3米,根据键入的游泳池半径,每米栅栏价格及每平方米过道价格,即可计算出游泳池的造价。请按要求完成下列操作,将程序补充完整。 ①定义符号常量PI(值为3.14159f)与WIDTH(值为3.00f),分别用于表示圆周率与过道的固定宽度。 ②定义Circle类默认构造函数,把私有成员radius初始化为参数r的值。 ③完成Money类默认构造函数的定义,把私有成员FencePrice(每米栅栏的价格)、ConcretePrice(每平方米过道的价格)初始化为参数f,c的值。 ④完成Money类成员函数float Money::TotalMoney(float fencelen,float conarea)的定义,根据参数fencelen(栅栏的长度)和conarea(过道的面积),返回栅栏与过道的总造价。 注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。 源程序文件test4.cpp清单如下: #include<iostream.h> (1) class Circle { private: float radius; public: (2) float Circumference( ){return 2 * P| * radius;} float Area( ){return P|*radius * radius;} }; class Money { private: float FencePrice; float ConcretePrice; public: Money(float f,float c); float Tota|Money(float fencelen, float conarea); }; Money::Money(float f,float c) { (3) } float Money::Tota|Money(float fencelen, flo
[填空题]【说明】 下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main( )方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。 public class Sum { public static void main (1) { //1. 调用sum1(int n),求1~100的和 //标准输出 (2) ("1~100的和:" +sum1(100)); //2. 调用sum2(int n),求1~100的和 //标准输出 (2) ("1~100的和:"+sum2(100)); } static iht sum1( int n) { int result=0; for(int i=1;i<=n;i++) (3) retrun result; } static int sum2(int n) { if (4) return 1 else (5) } }
[单项选择]依据《环境影响评价技术导则总纲》, 以下内容属于环评工作程序中“报告书编制阶段”工作任务的是( )。
A. 向地方环保局提出环评拟执行标准的申请
B. 开展环境质量现状监測
C. 提出环境保护措施和建议
D. 预測建设项目的环境影响
[单项选择]程序中若有如下说明和定义语句
Char fun(char *);
main( )

char *s="one", a[5]=0.(*f1)( )=fun, ch;


以下选项中对函数fun的正确调用语句是()
A. (*f1)(A) ;
B. *fl(*s);
C. fun(&A) ;
D. ch=*fl(s);
[单项选择]程序中若有如下说明和定义语句
char fun(char *);
main( )

char *s="one",a[5]=0,*f1)( )=fun,ch;


以下选项中对函数fun的正确调用语句是______。
A. (*f1)(a);
B. *f1(*s);
C. fun(&a); D) ch=*f1(s);
[多项选择]阅读下列程序说明和C程序,将应填入 (n) 处的字句写在答卷纸的对应栏内。
【程序说明】
该程序定义了两个子函数strsort和strmerge。它们分别实现了将一个字符串按字母顺序排序和将两个字符串合并排序,并删去相同字符。在主函数里,先输入两个字符串s1和s2,然后调用strsort函数对它们分别排序,然后调用strmerge函数将s1和s2合并,将合并后的字符串赋给字符串s3,最后输出字符串s3。
【程序】
#include <stdio.h>
void strmerge(char *a,char *b,char *c) //将字符串a,b合并到字符串c

char t,*w;
W=c;
while( (1) )

//找到字符串a,b当前字符中较小的字符
if(*a<*b)

t=-*a,
(2)

else if(*a>*b)

t=*b;
(3)

else //字符串a,b 当前字符相等

t=-*a;
a-H-;
b-H-;

if( (4) ) //开始,可直接赋值
*w=t;
else if(t!=*w)
//如果a,b中较小的当前字符与c中当前字符不相等,才赋值
(5)

if(*a!=’/O’) //如果字符串a还没有结束,则将a的剩余部分赋给c
while(*a!=’/0’)
if(*a!=*w)

*(++w)=*a;
a++;

else
(6)
if(*b!=",’

我来回答:

购买搜题卡查看答案
[会员特权] 开通VIP, 查看 全部题目答案
[会员特权] 享免全部广告特权
推荐91天
¥36.8
¥80元
31天
¥20.8
¥40元
365天
¥88.8
¥188元
请选择支付方式
  • 微信支付
  • 支付宝支付
点击支付即表示同意并接受了《购买须知》
立即支付 系统将自动为您注册账号
请使用微信扫码支付

订单号:

截图扫码使用小程序[完全免费查看答案]
请不要关闭本页面,支付完成后请点击【支付完成】按钮
  • 支付完成
  • 取消支付
恭喜您,购买搜题卡成功
重要提示:请拍照或截图保存账号密码!
我要搜题网官网:https://www.woyaosouti.com
我已记住账号密码