重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁!
查看《购买须知》>>>
找答案首页 > 全部分类 > 计算机类考试
搜题
网友您好, 请在下方输入框内输入要搜索的题目:
搜题
题目内容 (请给出正确答案)
[主观题]

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。 [说明] 下面程序是为汽车市场编制的

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

[说明]

下面程序是为汽车市场编制的一个程序的一部分。其中automobile是基类。

[C++程序]

//Auto.h

ifndef AUTO_H

define AUTO_H

class automobile

{

(1):

int miles_per_gallon; //汽车每加仑行驶公里数

float fuel_capacity; //油箱容积

public:

void initialize(int in_mpg,int in_fuel);

int get_mpg(void);

float get_fuel(void);

float travel_distance(void);

}

endif

//Auto.cpp

include"auto.h"

void automobile::initialize(int in_mpg,float in fuel)

{

miles_per_gallon=in_mpg;

fuel_capacity=in_fuel;

)

int automobile::get_mpg() //提供一辆特定汽车每加仑公里数

{return miles per_gallon;}

float automobile::get_fuel() //提供油箱容积

{return fuel_capacity;}

float automobile::travel_distance()

{return (2) }

//car.h

ifndef CAR_H

define CAR_H

include"auto.h"

class car: (3)

{

int Total_doors;

public:

void initialize(int in_mpg,float in_fuel,int doors=4);

int doors(void);

};

endif

//car.cpp

include"car.h"

void car::initialize(int in_mpg,float in_fuel,int door)

{

Total_doors=door;

miles_per_galion=in_mpg;

fuel_capacity=in_fuel;

}

int car::doors(void)

{return Total doors;}

//Allauto.cpp

include

include"auto.h"

include"car.h"

int main()

{

car sedan;

sedan.initialize(24,20.0,4);

tout<<"The sedan can travel"<< (4) <<"miles.\n";

cout<<"The sedan has"<< (5) <<"doors.\n";

return 0;

}

查看答案
更多“阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。 [说明] 下面程序是为汽车市场编制的”相关的问题

第1题

阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。 【应用说明

阅读以下应用说明、Visual Basic开发说明以及程序代码,将应填入(n)的字句写在对应栏内。

【应用说明】

某交通灯演示程序启动后,其运行窗口中包括红绿灯标志以及当前红绿灯状态剩余秒数的动态显示(如下图)。红灯与绿灯持续的时间分别为30秒与40秒。持续时间结束时,立即变更红绿灯,并重新显示剩余秒数。

【Visual Basic开发说明】

在开发过程中,先在窗体内制作形状“红绿灯框架”(长方形,透明),在该框架中,上部制作形状“红灯”(ShpRed,圆形),默认属性为透明;下部制作形状“绿灯” (ShpGreen,圆形),初始设置其填充方式属性FillStyle为实心,填充颜色属性FillColor为绿色。

再设置两个图像框(Image1在左,Image2在右),使其能分别装入数字图像文件,以显示当前红绿灯状态剩余的秒数。10个数字图像文件N0.bmp~N9.bmp分别用于显示数字0、1、…、9,这些文件存放在该应用程序所在目录中,以便在程序运行时按需要选择装入这两个图像框。为使图像文件装入图像框时能自动改变大小以适应图像框,这些图像框的Stretch属性都应设置成(1)。为使这些数字能每秒变化一次,开发窗体中设置了计时器Timcr1,其Enable属性设置成True,其Interval属性设置成1000。

程序中,全局变量Light用以标志当前红灯(0)或绿灯状态(1),RedT和GreenT分别表示红灯或绿灯状态剩余的秒数。

计时器Timer1的定时过程是在该程序启动1秒后首次执行的,以后每隔1秒执行1次。开发者应考虑对以下四种情况的处理:绿灯持续、绿灯转红灯、红灯持续、红灯转绿灯。

过程LoadNumber的功能是:将红绿灯剩余秒数N(2位整数)分离出两个一位数i与i,再将其变换成字符,删除前面可能产生的空格,再将数字图像文件Ni.bmp与Nj.bmp装入两个图像框(其中i与j应以相应的数字字符代替)。

【Visual Basic程序代码】

Public Light AS Integer, RedT As Integer, GreenT As Integer

Private Sub Form_Load()

Light = 1 : GreenT = 40 : RedT - 0 '初始化设置

End Sub

Private Sub Timer1_Timer() '计时器定时过程

If Light = 1 Then '绿灯状态时

(2)

If GreenT > 0 Then '绿灯持续时

Call LoadNumber (GreenT) '调用过程,显示数字GreenT

Else '绿灯转红灯时

ShpRed.FillStyle. = 0 '置红灯形状实心

ShpRed.FillColor = vbRed '为红灯形状填充红色

ShpGreen.FillStyle. = 1 '置绿灯形状透明

Call LoadNumber(30)

Light = 0 : RedT = 30

End If

Else '红灯状态时

RedT = RedT - 1

If RedT > 0 Then '红灯持续时

Call LoadNumber(RedT)

Else '红灯转绿灯时

ShpRed.FillStyle. = 1

ShpGreen.FillStyle. = 0

ShpGreen.FillColor = vbGreen

(3)

Light = 1 : GreenT = 40

End If

End If

End Sub

Sub LoadXumber (N As Integer) '根据剩余秒数N将数字图象装入图像框

Dim i As Integer, j As Integer

i = Int( (4) )

j = (5)

Image1.Picture = LoadPicture("N"&Trim(Str(i))&".bmp") '显示十位上的数字

Image2.Picture = LoadPicture("N"&Trim(Str(j))&".bmp") '显示个位上的数字

End Sub

点击查看答案

第2题

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】 函数sort (NODE *head)的功能

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

函数sort (NODE *head)的功能是;用冒泡排序法对单链表中的元素进行非递减排序。对于两个相邻结点中的元素,若较小的元素在前面,则交换这两个结点中的元素值。其中,head指向链表的头结点。排序时,为了避免每趟都扫描到链表的尾结点,设置一个指针endptr,使其指向下趟扫描需要到达的最后一个结点。例如,对于图4-1(a)的链表进行一趟冒泡排序后,得到图4-1(b)所示的链表。

链表的结点类型定义如下:

typedef struct Node {

int data;

struct Node *next;

} NODE;

【C语言函数】

void sort (NODE *head)

{ NODE *ptr,*preptr, *endptr;

int tempdata;

ptr = head -> next;

while ((1)) /*查找表尾结点*/

ptr = ptr -> next;

endptr = ptr; /*令endptr指向表尾结点*/

ptr =(2);

while(ptr != endptr) {

while((3)) {

if (ptr->data > ptr->next->data){

tempdata = ptr->data; /*交换相邻结点的数据*/

ptr->data = ptr->next->data;

ptr->next->data = tempdata;

}

preptr =(4); ptr = ptr -> next;

}

endptr =(5); ptr = head->next;

}

}

点击查看答案

第3题

阅读以下说明和流程图,回答问题将解答填入对应栏。 [说明] 本流程图采用“双向冒泡法”实现对数组

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

[说明]

本流程图采用“双向冒泡法”实现对数组a[n]的排序。双向冒泡法就是在逐步缩小的数组内,分别从数组的两端开始向内搜索,同时将大数往上浮,小数往下沉,每次交换一组数。flag是一个标志,发生过交换就置为1,当这个循环过程都不再发生交换时,则数组排序完成。

注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述;

定义swAP[a,b]为将a和b两数交换。

[问题]

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

点击查看答案

第4题

阅读以下说明和C程序,将应填入(n)处的字句写在对应栏内。【说明】 下面的程序按照以下规则输出给定

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

【说明】

下面的程序按照以下规则输出给定名词的复数形式。

a.若名词以“y”结尾,则删除y并添加“ies”;

b.若名词以“s”、“ch”或“sh”结尾,则添加“es”;

c.其他所有情况,直接添加“s”。

【C程序】

include <stdio.h>

include <string.h>

char*plural(char *word)

{

int n;

char *pstr;

n=strlen(word); /*求给定单词的长度*/

pstr=(char*)malloc(n+3);/*申请给定单词的复数形式存储空间*/

if (!pstr||n<2)

return NULL;

strcpy(pstr,word); /*复制给定单词*/

if ((1))

{

pstr[n-1]='i';pstr[n] ='e';pstr[n+1]='s';(2);

}

else

if(pstr[n-1]=='s'| |pstr[n-1]=='h'&&((3)))

{

pstr[n]='e';pstr[n+1]='s';pstr[n+2]='\0';

}

else

{ pstr[n]='s';pstr[n+1]='\0';)

(4);

}

main()

{ int i; char *ps;

char wc[9][10]=

{"chair","dairy","boss","circus","fly","dog","church","clue","dish");

for(i = 0;i<9; i++) {

ps= (5) ;

printf("%s: %s\n",wc[i],ps); /*输出单词及其复数形式*/

free(ps); /*释放空间*/

}

system("pause");

}

点击查看答案

第5题

阅读以下说明和Java源程序,将应填入(n)处的字句写在答题纸的对应栏内。说明 以下程序的功能是计算

阅读以下说明和Java源程序,将应填入(n)处的字句写在答题纸的对应栏内。

说明

以下程序的功能是计算三角形、矩形和正方形的面积并输出。

程序由5个类组成:AreaTest是主类,类Triangle、Rectangle和Square分别表示三角形、矩形和正方形,抽象类Figure提供了一个计算面积的抽象方法。

程序

public class AreaTest{

public static void main(String args[]){

Figure[]figures={

new Triangle(2,3,3),new Rectangle(5,8), new Square(5)

};

for(int i=0;i<figures.1ength;i++){

System.out.println(figures[i]+"area="+figures[i].getArea());

}

}

}

public abstract class Figure{

public abstract double SetAJea();

public class Rectangle extends (1) {

double height;

double width;

public Rectangle(double height,double width){

this.height=height;

this.width=width;

}

public String toString(){

return "Rectangle:height="+height+",width="+width+":";

}

public double getArea() { return (2);

} } public class Square extends (3) {

public Square(double width) {

(4);

}

public String toString() {

return "Square:width="+width+":";

} } public class Triangle extends (5). {

double la;

double lb;

double lc;

public Triangle(double la,double lb,double lc) {

this.la=la; this.lb=lb; this.lc=lc;

public String toString(){

return "Triangle: sides="+la+","+lb+","+lc+":";

public double getArea() {

double s=(la+lb+lc)/2.0;

return Math.sqrt(s*(s-la)*(s-lb)*(s?1c));

}

}

点击查看答案

第6题

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。应用说

阅读以下应用说明及Visual Basic部分程序代码,将应填入(n)处的字句写在答题纸的对应栏内。

应用说明

设一个简单的“通讯录”存储在一个ACCESS类型的数据库表中,包括姓名、电话和email三个字段。下面的应用程序实现对“通讯录”数据库表中的记录进行增加、删除及修改处理,其运行界面如下:

(1)数据控件(datal)与“通讯录”数据库表相连接,用户可通过“”和“”按钮指定表中的当前记录。

(2)文本框Txt name、Txt phone和Txt email分别与数据库表中的“姓名”、“电话”和“email”字段绑定,用于显示当前记录的内容。

(3)应用程序启动时,“确定”按钮(Cmd ok)和“取消”按钮(Cmd cancel)不可操作,文本框中显示表中的第一条记录,这时文本框处于不可操作状态。

(4)单击“增加”按钮(Cmd_add)或“修改”按钮(Cmd_modify)后,方可以编辑记录内容,同时“增加”、“删除”、“修改”和“退出”按钮变为不可操作状态。“增加”和“修改”操作需通过“确定”和“取消”按钮确认。

(5)单击“删除”按钮(Cmd del)后,弹出对话框,再单击“确定”按钮,当前记录被删除。

程序代码

Private Sub enableop(isEnabled As Boolean)

Txt_name.Enabled=isEnabled: Txt_phone.Enabled=isEnabled

Txt_email.Enabled=isEnabled

Cmd_ok.Enabled=isEnabled: Cmd_eancel.Enabled=isEnabled

Cmd_add.Enabled=Not isEnabled: Cmd_del.Enabled=Not isEnabled

Cmd_end.Enabled=Not isEnabled: Cmd_modify.Enabled=Not isEnabled

EndSub

Private Sub Form_Load()

Call enableop(False)

Data1.Refresh

If Data1 .Recordset. RecordCount = 0 Then

Cmd_del. Enabled= False: Cmd_modify. Enabled=(1)

End If End Sub Private Sub Cmd_add_Cliek() '单击“增加”按钮的代码

Call enableop( (2) )

Datal .Recordset. AddNew '在数据库表中添加一个新记录

Txt name. (3) End Sub Private Sub Crud_del_Click() '单击“删除”按钮的代码

On Error GoTo error3

arts = MsgBox("确定删除吗?", vbYesNo + vblnformafion, "操作提示!")

If (ans = vbYes) Then

Datal.Recordset. (4)

Datal .Recordset. MoveNext

If Datal .Recordset. EOF Then Data l.Refiesh

End If

Exit Sub error3:

MsgBox Err. Description, vbOKOnly, "错误提示!" End Sub Private Sub Cmd_ok_Click() '单击“确定”按钮的代码

On Error GoTo errorl

Datal.Recordset. (5)

Call enableop(False)

Exit Sub error 1:

MsgBox Err. Description, vbOKOnly, "错误提示!"

Datal.UpdateControls

Call enableop(False) End Sub '“修改”和“取消”按钮的程序代码(略)

点击查看答案

第7题

阅读以下应用说明以及用Visual Basic语言编写的程序代码,将应填入(n)处的字句写在答题纸的对应栏

内。

【应用4.1】

设应用程序的运行窗口内有一个文字标签(Label)以及一个框架,其中有三个复选框(chk1,chk2,chk3),各个复选框单击事件过程的程序代码如下:

Private Sub chkl_Click()

Label.fontBold=chkl.Value

End Sub

Private Sub chk2_Click()

Label.fontltalic=chk2.Value

End Sub

Private Sub chk3_Click()

Label.fontUnderLine=chk3.Value

End Sub

三个复选框chkl、chk2、chk3的功能分别是:(1)。

【应用4.2】

设应用程序的运行窗口内有两个文本框Txt1和Txt2,其初始内容为空。在Txt1文本框中输入一个数值,当光标离开此文本框(例如进入文本框Txt2)时,执行的程序代码如下:

Private Sub Txt1_LostFocus()

dim x aS double

x=Val(Txtl.Text)

工f x<0 Or x>100 Then

Txtl.Text =""

MsgBox$("请重新输入!")

Txtl.SetFocus

Else

Txt2.Text=Txt1.Text

End If

End Sub

该程序代码的功能是:若在文本框Txtl中输入的数值小于0或大于100,当光标离开此文本框时,(2);否则,将其值复制到文本框Txt2中。

【应用4.3】

在下面的应用中,当窗口内发生C1ick事件时,窗口内将显示如图2-4所示的杨辉三角(每一行都是二项式展开的系数)。请完善程序代码。

Private Sub Form. Click()

Dim i,j,c As Integer,StrTemp AS String

Dim a(9)As Integer

a(0)=0=a(1)=l:StrTemp=Str(a(1))+Space(3)

CurrentX=(ScaleWidth-TextWidth(StrTemp))/2

Print StrTemp

For j=2 TO 9

a(j)=1

For C=j-1 TO 2 Step-1

a(c) =(3)

Next

(4)=""

For c = 1 To j

StrTemp = StrTemp & Str((5)) & Space(5 - Len(Str(a(c))))

Next

CurrentX = (ScaleWidth - TextWidth(StrTemp)) / 2

Print StrTemp

Next End Sub

点击查看答案

第8题

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。【说明】 函数count months(DATE start

阅读以下说明和C语言函数,将应填入(n)处的字句写在对应栏内。

【说明】

函数count months(DATE start,DATE end)的功能是:计算两个给定日期之间所包含的完整月份数。

该函数先算出起止日期中所含的完整年数,再计算余下的完整月份数。

规定两个相邻年份的同月同日之间的间隔为1年。例如,2007.5.30—2008.5.30的间隔为1年。若相邻两年中前一年是闰年,并且日期是2月29日,则到下一年的2月28日为1年,即2008.2.29—2009.2.28的间隔为1年。

规定两个相邻月份的相同日之间的间隔为1个月,但需要特别考虑月末的特殊情况。例如,2007.1.29—2007.2.28的间隔为1个月,同理,2007.1.30—2007.2.28、2007.1.31—2007.2.28的间隔都是1个月。

计算起止日期间隔不足一年的完整月份数时,分如下两种情况。

(1)起止日期不跨年度。先用终止日期的月号减去起始日期的月号得到月份数,然后再根据情况进行修正。例如,起止日期为2008.3.31—2008.9.20,通过月号算出月份数为6。修正时,通过调用函数makevalid将2008.9.31改为2008.9.30,与终止日期2008.9.20比较后,将月份数修正为5。

(2)起止日期跨年度。计算方法如下例所示:对于起止日期2008.7.25—2009.3.31,先计算2008.7.25—2008.12.25的月份数为5,再算出2008.12.25—2009.3.25的月份数为 3,因此2008.7.25—2009.3.31之间的完整月份数为8。

日期数据类型定义如下:

typedef struct{

int year; int month; int day; /*日期的年号(4位)、月和口号*/

}DATE;

程序中使用的函数cmp_date()、isLeap Year()和makevalid()说明如下。

[*]

【C语言函数】

int count_months (DATE start,DATE end)

{

int years = 0, months = 0;

DATE r;

if (cmp_date(start,end) > 0) {

r = start; start = end; end = r;

}

years = end.year - start.year; /*计算年数*/

r = start;

r.year = end.year;

if (cmp_date(r, end) > 0) { /*修正年数*/

(1);

r.year--;

}

if (r.year < end.year) { /*跨年度时,先计算到12月的月份数*/

months =(2);

r.month = 12;

}

months += (end.month + 12 - r.month) % 12;

r.year = end.year; r.month = end.month;

makevalid ((3)); /*将日期r修正为有效日期*/

if (cmp_date(r,end) > 0) /*修正月份数*/

(4);

months +=(5); /*计算总月份数*/

return months;

}使用的函数cmp_date()、isLeap Year()和makevalid()说明如下。

[*]

点击查看答案

第9题

设“程序员纲”标准书号前9个数字为7-302-08493,请写出其校验码。

点击查看答案

第10题

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。 [说明] 这是一个求解Josephus

阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。

[说明]

这是一个求解Josephus问题的函数。用整数序列1,2,3…,n表示顺序围坐在圆桌周围的人,并采用数组表示作为求解过程中使用的数据结构。Josephus问题描述,设n个人围坐在一个圆桌周围,现在从第s个人开始报数,数到第m个人,让他出局;然后从出局的下一个人重新开始报数,数到第m个人,再让他出局,…如此反复直到所有的人全部出局为止。

[C函数]

void Josephus(int A[],int n,s,m)

(int i,j,k,temp;

if(m==O){

printf("m=0是无效的参数!\n");

return;

}

for(i=0;i<n;i++) A[i]=i+1; /*初始化,执行n次*/

i= (1) /*报名起始位置*/

for(k=n;k>1;k-){

if((2)) i=0;

i=(3) /*寻找出局位置*/

if(i!=k-1){

tmp=A[i];

for(j=i;J<k-1;j++) (4);

(5);

}

}

for(k=0;k<n/2;k++){

tmp=A[k];A[k]=A[n-k+1];A[n-k+1]=tmp;

}

}

点击查看答案
下载上学吧APP
客服
TOP
重置密码
账号:
旧密码:
新密码:
确认密码:
确认修改
购买搜题卡查看答案
购买前请仔细阅读《购买须知》
请选择支付方式
微信支付
支付宝支付
选择优惠券
优惠券
请选择
点击支付即表示你同意并接受《服务协议》《购买须知》
立即支付
搜题卡使用说明

1. 搜题次数扣减规则:

功能 扣减规则
基础费
(查看答案)
加收费
(AI功能)
文字搜题、查看答案 1/每题 0/每次
语音搜题、查看答案 1/每题 2/每次
单题拍照识别、查看答案 1/每题 2/每次
整页拍照识别、查看答案 1/每题 5/每次

备注:网站、APP、小程序均支持文字搜题、查看答案;语音搜题、单题拍照识别、整页拍照识别仅APP、小程序支持。

2. 使用语音搜索、拍照搜索等AI功能需安装APP(或打开微信小程序)。

3. 搜题卡过期将作废,不支持退款,请在有效期内使用完毕。

请使用微信扫码支付(元)
订单号:
遇到问题请联系在线客服
请不要关闭本页面,支付完成后请点击【支付完成】按钮
遇到问题请联系在线客服
恭喜您,购买搜题卡成功 系统为您生成的账号密码如下:
重要提示: 请勿将账号共享给其他人使用,违者账号将被封禁。
发送账号到微信 保存账号查看答案
怕账号密码记不住?建议关注微信公众号绑定微信,开通微信扫码登录功能
警告:系统检测到您的账号存在安全风险

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

- 微信扫码关注上学吧 -
警告:系统检测到您的账号存在安全风险
抱歉,您的账号因涉嫌违反上学吧购买须知被冻结。您可在“上学吧”微信公众号中的“官网服务”-“账号解封申请”申请解封,或联系客服
- 微信扫码关注上学吧 -
请用微信扫码测试
选择优惠券
确认选择
谢谢您的反馈

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

上学吧找答案