题目内容 (请给出正确答案)
[主观题]

阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写在对应栏内。【说明】阅读下面几段C++程序回

阅读下列程序说明和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

}

查看答案
如搜索结果不匹配,请 联系老师 获取答案
您可能会需要:
您的账号:,可能会需要:
您的账号:
发送账号密码至手机
发送
更多“阅读下列程序说明和C++程序,把应填入其中(n)处的字句,写…”相关的问题

第1题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】下面程序的功能是计算并输出某年

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

【说明】

下面程序的功能是计算并输出某年某月的天数,函数IsLeap Year()能够判断是否是闰年。

【C++程序】

include < iostream >

using namespace std;

(1) Month {Jan, Feb, Mar, Apr, May, Jun, Jul, Aug, Sep, Oct, Nov, Dec };

class Date {

public:

Date( int year, Month m_ month) {

this→year = year;

if( (2) ) month: Jan;

else month = m_ month;

};

~Date(){};

bool IsLeap Year( ) {

return ((year%4= =0 &&year% 100 ! =0)|| year%400= =0);

};

int CaculateDays( ) {

switch(m_month ) {

case (3) ;{

if (4) return 29;

else return 28;

}

case Jan: case Mar: case May: case Jul: case Aug: case Oct: case Dec: return 31;

case Apr: case Jun: case Sop: case Nov: return 30;

}

}

private:

int year;

Month month;

};

void main( ) {

Date day(2000,Feb);

cout < <day. (5) ( );

}

点击查看答案

第2题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】以下程序实现了二叉树的结点删除

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

【说明】以下程序实现了二叉树的结点删除算法,若树中存在要删除的结点,则删除它,否则返回。 FindNode ()函数能够在二叉树中找到给定值的结点,并返回其地址和父结点。

【C++程序】

template < class T >

void BinSTree < T >: :Delete( const T& item)

{

TreeNode < T > * DelNodePtr, * ParNodePtr, * RepNodePtr;

if(( DelNodePtr = FindNode (item,ParNodePtr)) = = NULL)

(1)

if(DelNodePtr→right = = NULL) //被删除结点只有一个子结点的情况

RepNodePtr = DelNodePtr→left;

else if( DelNodePtr→left = = NULL)

(2);

else // 被删除结点有两个子结点的情况

{

TreeNode < T >* PofRNodePtr = DelNodePtr;

RepNodePtr = DelNodePtr→left;

while(RepNodePtr→right ! = NULL)

{ //定位左子树的最右结点

PofRNodePtr =RepNodePtr;

RepNodePtr = RepNodePtr→right;

}

if(PofRNodePtr = = DelNodePtr) //左子树没有右子结点

(3);

else //用左子顷的最右结点替换删除的结点

{

(4)

RepNodePtr→left = DelNodePtr→left;

RepNodePtr→right = DelNodePtr→right;

}

}

if (5)//要删除结点是要结点的情况

root = RepNodePtr;

else if ( DelNodePtr→data < ParNodePtr→Data)

ParNodePtr→left = RepNodePtr;

else

ParNodePtr→right =RepNodePtr;

FirstTreeNode ( DelNodePtr ) ;//释放内存资源

size→;

}

点击查看答案

第3题

阅读以下说明和C程序,将填入(n)处的字句在对应栏内。 [说明] 某旅游服务应用程序运行时,根据输入

阅读以下说明和C程序,将填入 (n) 处的字句在对应栏内。

[说明]

某旅游服务应用程序运行时,根据输入的两个城市名查找其问的距离。各城市问的距离如表4-1所示。表格中的第一行和第一列表示城市名,表中的每个元素是一个整数,代表该元素所在行和列对应的城市之间的距离(单位:km)。

表4-1

在程序中,城市名用一维全局数组cityTable存储,城市之间的距离矩阵用二维全局数组kmTable表示,并用相应的值对这两个数组进行初始化。

define NCities 8 /*城市个数*/

define TRUE 1

static char * cityTable[NCities]={ /*城市名按字典序升序排列*/

"Beijing",

…… /*其他城市名略去*/

"Sanya",

};

StatiC int kmTable[NCities][NCities]={

{0, 1697, 2695, 937, 1784, 1356, 926, 2543},

{1697, 0, 313, 1840, 533, 940, 1409,1505},

…… /*剩余元素的初始值略去*/

};

程序执行时,首先按提示输入两个城市名,然后在cityTable中查找与城市名对应的下标,最后用该下标在kmTable中找到这两个城市之间的距离。

程序中定义的函数FindCitylnSortedArray和GetCity说明如下:

(1)函数FindCitylnSortedArray的功能是用二分查找法在全局数组cityTable中查找城市名所对应的下标值。

(2)函数GetCity的功能是读入城市名,调用函数FindCityInSortedArray来获取城市所对应的下标值。如果该城市名不存在,则提示用户重新输入。

[C程序]

int main() {

int city1,city2;

city1=GetCity("输入第1个城市名:");

city2=GetCity("输入第2个城市名:");

printf("%S和%s之间的距离为:%d km.\n”,cityTable[city1],

cityTable[city2],

kmTable[cityl][city2]);

return 0;

}

StatiC int GetCity(char * prompt) {

char * CityName;

int index;

cityName=(char *)malloc(20*sizeof(char));

while(TRUE){

printf("%S",prompt);

gets(cityName); /*获取输入字符串*/

index=FindCityInSortedArray(cityName);

if( (1) ________ )break;

printf("城市名不存在,请重新输入。\n");

}

free(cityName);

return (2)__________;

}

Static int FindCityInSortedArray(char * key) {

int lh, rh, mid, cmp;

lh=0;

rh=NCities-1;

while( (3)________){

mid=(1h+rh)/2;

cmp=strcmp( (4)______ ); /*比较两个城市名是否相同*/

if(cmp==0)return (5)_______; /*两个城市名相同*/

if(cmp<0){rh=mid-1;)

else {lh=mid+1;)

}

return (-1); /*城市名不存在时返回-1 */

}

点击查看答案

第4题

阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入对应栏内。[说明] 下面的流程图旨在

阅读以下说明和流程图,填补流程图中的空缺(1)~(5),将解答填入对应栏内。

[说明]

下面的流程图旨在统计指定关键词在某一篇文章中出现的次数。

设这篇文章由字符A(0),…,A(n-1)依次组成,指定关键词由字符B(0),…,B(m-1)依次组成,其中,n>m≥1。注意,关键词的各次出现不允许有交叉重叠。例如,在“aaaa”中只出现两次“aa”。

该流程图采用的算法是:在字符串A中,从左到右寻找与字符串B相匹配的并且没有交叉重叠的所有子串。流程图中,i为字符串A中当前正在进行比较的动态予串首字符的下标,j为字符串B的下标,k为指定关键词出现的次数。

[流程图]

点击查看答案

第5题

在Visual Basic中,公用标准模块文件的扩展名是(10)。A.frm B.cis C.vbp D.bas

在Visual Basic中,公用标准模块文件的扩展名是(10)。 A.frm B.cis

C.vbp D.bas

点击查看答案

第6题

阅读以下程序说明和C程序,将程序段中(1)~(7)空缺处的语句填写完整。【说明】 【C程序1】用回溯算法来

阅读以下程序说明和C程序,将程序段中(1)~(7)空缺处的语句填写完整。

【说明】

【C程序1】用回溯算法来产生由0或1组成的2m个二进位串,使该串满足以下要求。

视串为首尾相连的环,则由m位二进制数字组成的2m个子序列,每个可能的子序列都互不相同。例如,如果m=3,在串11101000首尾相连构成的环中,由3位二进制数字组成的每个可能的子序列都在环中恰好出现一次,它们依次是111,110,101,010,100,000,001,011,如图2-14所示。

【C程序2】是求“背包问题”的一组解的递归算法程序。“背包问题”的基本描述是:有一个背包,能盛放的物品总重量为S,设有N件物品,其重量分别为W1,W2,…,Wn,希望从N件物品中选择若干件物品,所选物品的重量之和恰能放入该背包,即所选物品的重量之和等于S。

【C程序1】

define N 1024

define M 10

int b [N+M-1]

int equal(int k, int j int m) {

int i;

for(i=0; i<m; i++

if ( b[ k + i] (1) )

return 0;

return 1; }

int exchange (int k, int m, int v){

while ( b[ k + m - 1 ) == v ) {

b[ kncm--i]=! v (2);

}

(3)=v;

return k;

}

init ( iht v) {

int k

for( k = 0;K = N + M - 1;k++)

b[k] = v;

}

main ( ) {

int m, v, k, n, j;

printf ('Enter m (l<m<10) , v v=0, v=1)\ n") ;

scanf (" %d%d , &m, &v);

n = 0x01 << m;

init (!v);

k=0;

while((4)< n)

for (j=0;j<k;j++)

if (equal (k, j, m)) {

k=exchange (k, m, v)

j=(5);

}

for (k= 0 ;k<n ;k++ )

print{ (" %d\ n" , b[k]) ;

}

}

【C程序2】

include<stdio. h>

define N 7

define S 15

int w[N+1] = {0, 1, 4, 3, 4, 5, 2, 7};

int knap (int S, int n){

if (S == 0)

return 1;

if (s<0 || (s>0 && n<1))

return 0;

if ((6))) {

printf( "4d", w[n]);

return 1;

}

return (7)

}

main ( ) {

if (knap (S, N)

printf("OK:\n");

else

printf("NO!\n")

}

点击查看答案

第7题

阅读以下说明和Java以及HTML代码,将应填入(n)处的字句写在对应栏内。[说明] 编写一个Applet程序,

阅读以下说明和Java以及HTML代码,将应填入(n)处的字句写在对应栏内。

[说明]

编写一个Applet程序,接受HTML文件传递的整数参数,根据该参数指定Applet中文本框的长度。编写对应的HTML文件运行这个Applet。

[Java 代码]

import java. applet.*;

import java. awt.*;

public class chuangdics extends (1)

{

TextField tf=new TextField ();

int tfLength=0;

public void init()

{

try

{

tfLength=Integer. parseInt( (2) ("length"));

tf. setColumns (tfLength);

add (tf);

}

catch (NumberFormatException nfe)

{

tf. (3) ("HTML 文件传人的参数格式错误。");

add(tf);

}

}

}

[HTML 代码]

<html>

<head>

<title>(4)</title>

</head>

<body>

<hr>

<applet code=chuangdics width=700 height=150>

<param name=length value=20>

(5)

<hr>

</body>

</htmI>

点击查看答案

第8题

阅读以下说明Visual Basic代码,回答问题1~2,将解答填入对应的栏内。[说明] 本程序实现的功能是判

阅读以下说明Visual Basic代码,回答问题1~2,将解答填入对应的栏内。

[说明]

本程序实现的功能是判断指定的文本文件中是否包含指定的字符串,并且如果包含则返回其第一次出现的位置(行号、列号)。程序运行界面如下图所示,用户只要通过驱动器列表框、目录列表框选定文件夹,文件列表框会自动列出该文件夹下所有文本文件名称,选中其中某个文件,再输入目标字符串并且单击“查找”按钮,就能看到查找的结果。

在开发过程中,驱动器列表框名为Drive1,目录列表框名为Dirl,文件列表框名为File1,目标字符串输入框名为Text1,“查找”按钮名为Command1。

[Visual Basic 代码]

Private Sub Drivel_Change()

Dirl. Path=(1) '更新目录列表框的路径

End Sub

Private Sub Dirl_Change( )

(2)= Dirl. Path '更新文件列表框的路径 End Sub

Private Sub Commandl_Click( )

Dim fso, a As Object

Dim i, j As Integer

If (3) = "" Then '判断是否已经选中某个文件

MsgBox "请选择一个文件文件!"

(4) '退出事件过程

End If

'创建文件系统对象以及文本流对象

Set fso = CreateOhjecl( "Scripting. FileSystemOhject" )

Set a = fso. OpenTextFile( Dirl. Path & "/" &(3))

i=1

Do While (5)<> True '逐行读取文件,直至文件末尾

strLine = a. ReadLine

j = InStr(1,(6))'返回目标字符串在文件这一行中的位置

If j > 0 Then '如果目标字符串在这一行出现,则返回其位置

MsgBox "字符串第一次出现的位置是" & "(" & i & "," &j & "),,"

(4) '退出事件过程

End If

i:i+l

Loop

MsgBox "字符串在文件中不出现,"

End Sub

点击查看答案

第9题

阅读以下说明和流程图,回答问题将解答填入对应栏内。[说明] 已知递推数列:a(1)=1,a (2s)= a (s),a

阅读以下说明和流程图,回答问题将解答填入对应栏内。

[说明]

已知递推数列:a(1)=1,a (2s)= a (s),a(2s+1)=a (s)+a (s+1)(s 为正整数)。试求该数列的第n项与前n项中哪些项最大?最大值为多少?

算法分析:该数列序号分为奇数或偶数两种情况做不同递推,所得数列呈大小有规律的摆动。设置a数组,赋初值a (1)=1。根据递推式,在循环中分项序号s (2~n)为奇数或偶数作不同递推:每得一项 a (s),即与最大值max 作比较,如果a (s)>max,则max=a(i)。最后,在所有项中搜索最大项(因最大项可能多于一项),并打印最大值max。

[问题]

将流程图中的(1)~(5)处补充完整。

注:流程图中(1)循环开始的说明按照“循环变量名:循环初值,循环终值,增量”格式描述。

[流程图]

点击查看答案

第10题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。【说明】 以下程序的功能是计算正方体、球

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

【说明】

以下程序的功能是计算正方体、球体和圆柱体的表面积和体积并输出。

程序由4个类组成:类cube、sphere和cylinder分别表示正方体、球体和圆柱体;抽象类 container为抽象类,提供了两个纯虚拟函数surface_area()和volum(),作为通用接口。

【C++程序】

include<iostream.h>

define pi 3.1416

class container{

protected:

double radius;

public:

container(double radius) {container::radius=radius;}

virtual double surface_area()=0;

virtual double velum()=0;

};

class cube:(1){ //定义正方体类

public:

cube(double radius):container(radius){};

double surface_area () {return 6 * radius * radius;}

double volum() {return radius * radius * radius;}

};

class sphere:(2){ //定义球体类

public:

sphere(double radius): container(radius){};

double surface_area() { return (3);}

double volum() {return pi * radius * radius * radius * 4/3;}

};

class cylinder:(4){ //定义圆柱体类

double height;

public:

cylinder(double radius,double height):container(radius)

{

container::height=height;

}

double surface_are a () { return 2 * pi * radius * (height+radius); }

double volum () {return (5);}

};

void main()

{

container * p;

cube obj1 (5);

sphere obj2(5);

cylinder obj3(5,5);

p=&obj1;

cout<<“正方体表面积”(<<p->surface_area()<<end1;

cont<<“正方体体积”<<p->volume()<<end1;

p=&obj2;

cout<<“球体表面积”<<p->surface_area()<<end1;

cout<<“球体体积”<<p->volume()<<end1;

p=&obj3;

cout<<“球体表面积”<<p->surface_area()<<end1;

cout<<“球体体积”<<p->volume()<<end1;

}

点击查看答案
热门考试 全部 >
相关试卷 全部 >
账号:
你好,尊敬的上学吧用户
发送账号至手机
获取验证码
发送
温馨提示
该问题答案仅针对搜题卡用户开放,请点击购买搜题卡。
马上购买搜题卡
我已购买搜题卡, 登录账号 继续查看答案
重置密码
确认修改
谢谢您的反馈

您认为本题答案有误,我们将认真、仔细核查,
如果您知道正确答案,欢迎您来纠错

警告:系统检测到您的账号存在安全风险

为了保护您的账号安全,请在“上学吧”公众号进行验证,点击“官网服务”-“账号验证”后输入验证码“”完成验证,验证成功后方可继续查看答案!

微信搜一搜
上学吧
点击打开微信
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
微信搜一搜
上学吧
点击打开微信