首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
国际标准化组织的OSI基本参考模型共有7层。IP、TCP分别是对应于该模型中 (1) 、 (2) 的协议。在因特网协议组中,与TCP在同一层的协议还有 (3) 。(3)
查看本题答案
包含此试题的试卷
初级程序员《单选题》真题及答案
点击查看
你可能感兴趣的试题
国际标准化组织提出的OSI参考模型共分______层
5
6
7
8
国际标准化组织的OSI基本参考模型中网络层属于第116层IPUDP和HDLC分别是对应于该模型中11
2
3
4
5
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
ANSI
ISO
CCITT
IDC
国际标准化组织ISO提出的开放系统互联参考模型OSI有______层
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
物理
传输
数据链路
网络
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
传输
会话
表示
应用
国际标准化组织的OSI基本参考模型中网络层属于第116层IPUDP和HDLC分别是对应于该模型中11
应用层
物理层
表示层
数据链路层
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
网络层
传输层
会话层
媒体访问控制层
国际标准化组织提出的七层网络模型被称为开放系统互连参考模型
OSI
ISO
OSI/RM
TCP/IP
国际标准化组织的OSI基本参考模型中网络层属于第116层IPUDP和HDLC分别是对应于该模型中11
TCP
NCP
ARP
ICMP
开放系统的互连标准即OSI标准是由国际标准化组织ISO组织制定的OSI的参考模型由七层组成由上而下分
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
网络层
传输层
会话层
媒体访问控制层
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
ANSI
ISO
CCITT
IDC
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
转发器
防火墙
网桥
网关
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
网关
路由器
防火墙
中继器
国际标准化组织的OSI基本参考模型共有层
2
5
7
10
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
UDP
NCP
ARP
ICMP
国际标准化组织的OSI基本参考模型中网络层属于第116层IPUDP和HDLC分别是对应于该模型中11
网络层
媒体访问控制层
会话层
传输层
国际标准化组织的OSI基本参考模型共有7层IPTCP分别是对应于该模型中1 2的协议在
转发器
路由器
网桥
中继器
下列叙述错误的是
OSI模型和TCP/IP模型的最上层都是应用层。
国际标准化组织ISO提出的“开放系统互联参考模型”实现起来困难,是一种理论上的标准。
TCP/IP模型包括四层。
Internet采用的是OSI体系结构。
热门试题
更多
试题八阅读以下说明和流程图填补流程图中的空缺 [说明] 某单位动态收集的数据中常包含重复的数据所以需要进行处理使得重复的数据仅出现一次下面流程图的功能是在nn≥1个数据D1D2Dn中选出其中所有不重复的k个数据置于原来前k个数据的位置上 该流程图的算法如下第1个数据必然被选出然后从第2个数据开始逐个考察其余的数据假设D1D2Dmm≥1是已经选出的不重复的数据则对于数据Dim<i≤n将其依次与DmDm-1D1进行比较若没有发现与之相同者则Di被选出并置于Dm+1的位置上否则对Di不做处理 例如如下10个数据5227447191 n=10经过上述算法处理后的结果为527419 k=6[流程图]本题流程图如图8-32所示 注循环开始的说明按照循环变量名循环初值循环终值增量格式描述
试题八阅读以下说明和流程图填补流程图中的空缺 [说明] 某单位动态收集的数据中常包含重复的数据所以需要进行处理使得重复的数据仅出现一次下面流程图的功能是在nn≥1个数据D1D2Dn中选出其中所有不重复的k个数据置于原来前k个数据的位置上 该流程图的算法如下第1个数据必然被选出然后从第2个数据开始逐个考察其余的数据假设D1D2Dmm≥1是已经选出的不重复的数据则对于数据Dim<i≤n将其依次与DmDm-1D1进行比较若没有发现与之相同者则Di被选出并置于Dm+1的位置上否则对Di不做处理 例如如下10个数据5227447191 n=10经过上述算法处理后的结果为527419 k=6[流程图]本题流程图如图8-32所示 注循环开始的说明按照循环变量名循环初值循环终值增量格式描述
试题七阅读以下说明和流程图填补流程图中的空缺 [说明] 假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779 [流程图]本题流程图如图8-31所示
【说明】 以下程序为求行列式X55的值S 【VisualBasic代码】 PrivateFunctioncolbyvalx55asintegeraslong dimfesultaslong dimtempaslong dimIasinteger dimjasinteger dimkasimeger result=0 forI=to5 1 forj=1to5 ifI+j>6then k=1+jmod5 else k=1 endif temp=temp*xkj 2 result=3 4 5 Endfunction
试题八阅读以下说明和流程图填补流程图中的空缺 [说明] 某单位动态收集的数据中常包含重复的数据所以需要进行处理使得重复的数据仅出现一次下面流程图的功能是在nn≥1个数据D1D2Dn中选出其中所有不重复的k个数据置于原来前k个数据的位置上 该流程图的算法如下第1个数据必然被选出然后从第2个数据开始逐个考察其余的数据假设D1D2Dmm≥1是已经选出的不重复的数据则对于数据Dim<i≤n将其依次与DmDm-1D1进行比较若没有发现与之相同者则Di被选出并置于Dm+1的位置上否则对Di不做处理 例如如下10个数据5227447191 n=10经过上述算法处理后的结果为527419 k=6[流程图]本题流程图如图8-32所示 注循环开始的说明按照循环变量名循环初值循环终值增量格式描述
【说明】 下面的程序构造一棵以二叉链表为存储结构的二叉树算法 【函数】 BTCHINALR*createbtBTCHINALR*bt { BTCHINALR*q; structnode1*s[30]; intji; charx; printfix=;scanf%d%c&i&x; whilei!=0&&x!=’$’ {q=BTCHINALR*mallocsizeofBTCHINALR;//生成一个结点 1; q->1child=NULL; q->rchild=NULL; 2; if3; {j=i/2//j为i的双亲结点 ifi%2==0 4//i为j的左孩子 else 5//i为j的右孩子 } printfix=;scanf%d%c&i&x;} returns[1] }
1】 【应用说明5.1】 本应用程序的窗体中有一个下拉式列表框名称为Combo1和两个文本框名称分别为Txt1和Txt2运行时用户从Combo1的列表中进行选择程序就会将选中条目的内容以及编号从0开始分别在文本框Txt1和Txt2中显示出来 【程序代码5.1】 PrivateSubCombo1_Click Txt1.Text=Combo1.1 Txt2.Text=Combo1.2 EndSub 注可供2处选择的选项ListIndexListlndexListCountNumber 【应用说明5.2】 本应用程序的运行窗口如图2所示 开发该应用的部分程序代码如下 【程序代码5.2】 PrivateSubCmbOp_Click DimDatalnAsDoubleDataOutasDouble Dataln=3 SelectCase4 Case取整数部分 DataOut=IntDataln Case求平方根 IfDataln<0Then MagBox负数不能开平方! Else DataOut=SqrDataln EndIf Case取绝对值 DataOut=AbsDataln 5 TxtOut.Text=str$DataOut EndSub
【流程图】 下面的流程图描述了对16位二进制整数求补的算法计算过程是从二进制数的低位最右位开始依次向高位逐位查看直到首次遇到1时停止查看然后对该1位左面的更高位如果有的话逐位求反所得的结果就是对原二进制数求补的结果 例如对二进制整数1011100110101000求补的结果是0100011001011000 设16位二进制整数中的各位从低位到高位依次存放在整型数组BIT的BIT[1]~BIT[16]中例如二进制整数1011100110101000存放在数组BIT后就有BIT1[1]=0BIT[2]=0BIT[15]=0BIT[16]=1 流程图如图1所示中1处按循环变量名循环初值增量循环终值格式描述若流程图中存在空操作则用NOP表示
试题七阅读以下说明和流程图填补流程图中的空缺 [说明] 假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779 [流程图]本题流程图如图8-31所示
阅读以下技术说明Java源程序和运行测试部分根据要求回答问题1和问题2 【说明】1.HTTP◆ HTTP请求消息示例GET/indexhtmlHTTP/1.1 Accept:image/gifimage/jpeg*/* Accept-Language:zh-ch Accept-encoding:gzipdeflate User-Agent:Mozilla/4.0compatible:MSIE6.0;Windows2003 Host:localhost:8080Connection:Keep-Alive ◆HTTP响应消息示例HTTP/1.1200 OKServert:Microsoft-IIS/6.0 Date:Mon3Jan200813:13:33GMT Content-Type:text/htmlLast-Modified:Mon11Jan2008 13:23:42GMTContelit-Length:112 <html>...</html> 2.相关类及主要成员函数◆ServerSocket类 服务器端套接字它监听固定端口以接收来自客户端的连接请求一旦建立连接就返回一个Socket类型的对象类中的主要成员函数如表6-16所示 表6-16ServerSocket类的主要成员函数 函数名 功能说明 ServerSocketPORT 构造函数 Accept 返回建立连接的Socket类型的对象 Close 关闭当前的ServerSocket类型的对象◆Socket类基于连接的套接字类中的主要成员函数如表6-17所示表6-17 Socket类的主要成员函数 函数名 功能说明 GetnetAddress 返回InetAddress类型的对象该对象封装了与该套接字所关联的客房机的IP地址 GetInputSffeam 返回当前对象所关联的输入流 GetOutputStream 返回当前对象所关联的输出流 Close 关闭当前对象【Java源程序一个简单的Web服务器】 /*WebScrvc.java*/packageobjclass; importjava.net.*;importjava.io.*; publicclassWebServer{publicstaticfinal intPORT=8080;//Web服务器侦听的端口号 publicstaticfinalStringWEB_ROOT= SyStem.getPropertyuser.dir+ File.separator+webroot; //WEB_ROOT变量存放Web服务器工作目录HTMLGIF图片等静态文件资源 privatestaticfinalStringSHUTDOWN_COMMAND=/shutdown; //SHUTDOWN_COMM_AND变量保存关闭服务器的命令 privateBooleanshutdown=false; //是否收到关闭服务器命令的标志publicstaticvoidmainSting[] args{WebServerserver=new WebServer;Server.await }publicvoid await{ServerSocketserverSocket =null;try{ serverSocket=new1 ; //创建侦听端口号为PORT的ServerSocket类型的对象 System.out.printlnWebServerStarted!; } catchIOExceptione{ e.printStackTrace; SyStem.exit1;} while!shutdown{ //循环等待客房端连接 Socketsocket=null; InputStreaminput=null; OutputStreamoutput=null; try{ Socket=2; //创建来自客房端的连接套接字 Input=socket.3; //创建输入流 Output=socket.4 ; //创建输出流 Requestrequest=newRequestinput; //创建request对象 Request.5; //解析客户端HTTP请求 Responseresponse=newReSponseoutput; //创建Response对象 responsesetRequestrequest; //将request对象传递给response对象 response.6; //给客户端发送所请求的静态资源 7; //关闭连接套接字 shutdown=request.8.equals SHUTDOWN_COMMAND; //凑数当前HTTP请求中的URL是否是关闭服务器命令 } CatchExceptione{ e.printStackTrace; continue; } }}}/* Request.java*/packageobjclass;import java.io.InputStream;importjava.iO.IOException; publicClassRequest{privateInputStream input;privateStringurl; publicRequestInputStreaminput{this.input=input;} publicvoidparse{...parseUrl;...} //解析客户端HTTP请求消息private StringparseUrlStringrequestString{...} //解析客户端HTTP请求中的URLpublicStringgetUrl{return url;}}/*Response.java*/ packageobjclass;importjava.io.*;public classResponse{privatestaticfinalintBUFFER_ SIZE=1024;Requestrequest; OutputStreamoutput;publicResponseOutputStrearm output{this.output=output;}publicvoid setRequestRequestrequest{this.request=request;} publicvoidsendStaticResourcethrowsIOmxception{...} //向客户端发送所请求的静态资源} 【问题1】 请将以上【Java源程序】中的1~8空缺处的内容填写完整
【函数2.1说明】 有1234四个数字输出由这些数字组成的互不相同且无重复数字的三位数 【函数2.1】 main { intijk; printf/n; for1/*以下为三重循环*/ forj=1;j<5;j++ fork=1;k<5;k++ { if2/*确保ijk三位互不相同*/ printf%d%d%d/nijk; } } 【函数2.2说明】 计算并输出100之内的素数每行输出10个超过10个则换行 【函数2.2】 #include<stdio.h> #includemath.h #defineN101 main { intijlinea[N]; fori=2;i<N;i++3; fori=2;i<sqrtN;i++ forj=i+1;j<N;j++ { ifa[i]!=0&&a[j]!=0 ifa[j]%a[i]==0 4; } printfC/n; fori=2line=0;i<N;i++ { ifa[i]!=0 { prinff%5da[i]; 5; } ifline==10 { prinff/n; line=0; } } }
试题六阅读以下说明和流程图填补流程图中的空缺 [说明] 下面流程图的功能是在已知字符串A中查找特定字符串B如果存在则输出B串首字符在A串中的位置否则输出-1设串A由n个字符A0A1An-1组成串B由m个字符B0B1Bm-1组成其中n≥m>0在串A中查找串B的基本算法如下从串A的首字符A0开始取子串A0A1im-1与串B比较若不同则再取子串A1A2Am与串B比较以此类推 例如字符串CABBRFFD中存在字符子串BRF输出3不存在字符子串RFD输出-1 在流程图中i用于访问串A中的字符i=01n-1j用于访问串B中的字符j=01m-1在比较AiAi+1Ai+m-1与B0B1Bm-1时需要对Ai与B0Ai+1与B1Ai+j与Bj逐对字符进行比较若发现不同则需要取下一个子串进行比较以此类推 [流程图]本题流程图如图8-30所示
【说明】 在窗体上设计两个文本框和两个标签标签上显示摄氏温度和华氏温度文本框一个用于输入摄氏温度数一个用于输出对应的华氏温度摄氏温度与华氏温度的转换公式为c=5/9×f-32 要求对输入的摄氏温度数有检查功能以拒绝接收非数字字符运行界面如图所示 【VisualBasic代码】 PrivateSubCommandl_Click Text1= Text2= Text1.Enabled=True Text2.Enabled=True Text1.SetFocus EndSub PrivateSubCommand2Click End EndSub PrivateSubFormLoad Text1= Text2= Text1.Enabled=False Text2.Enabled=False EndSub PrivateSubTextl_Change Text2.Text=1 EndSub PrivateSubTextl_KeyPressKeyAsciiAs2 If3Then IfChrKeyAscii<0Or4Then 5 EndIf EndIf EndSub
【说明】 下面的程序功能的功能是以行为单位对字符串按下面的条件进行排序排序条件为从字符串中间一分为二右边部分按字符的ASCII值降序排序排序后左边部分与右边部分进行交换如果原字符串长度为奇数则最中间的字符不参加排序字符仍放在原位置上 例如位置01234567 源字符串hgfeabcd 则处理后字符串dcbahgfe 函数ReadDat实现从文件in.dat中读取数据每行字符串长度均小于80函数WriteDat把结果dat输出到文件out.dat中 #include<stdio.h> #include<siring.h> #include<conio.h> chardat[20][80]; voidjsSort { intijkstrl; charch; fori=0;i<20;i++ strl=strlendate[i]; forj=1;j<strl;j++/*对后半部分的字符串进行排序*/ fork=j+1;k<strl;k++ if2 { ch=dat[i][j]; dot[i][j]=dat[i][k]; dat[i][k]=ch; } forj=0;3j++/*前后两部分进行交换*/ { ch=date[i][j]; dote[i][j]=date[i][strl+1/2+j]; dat[i][strl+1/2+j]=ch; } } } voidmain { reodDat; isSort; writeDot; } readDat { FILE*in; inti=0; char*p; 4; whilei<20&&fgetsdat[i]80in!=NULL { p=strchrdate[i]/n; ifp*p=0; i++; } fclosein; } writeDat { FILE*out; inti; clrscr; out=fopenout.datW; fori=0;i<20;i++ { printf%s/ndar[i]; printf5; } fcloseout; }
类Stock的定义中有两处错误请指出错误所在行号并给出该行修改后的完整结果
请认真阅读以下关于某传输系统的技术说明状态转换图及C++代码根据要求回答问题1和问题2 【说明】 传输门是传输系统中的重要装置传输门具有Open打开Closed关闭Opening正在打开StayOpen保持打开和Closing正在关闭5种状态触发状态的转换事件有clickcomplete和timeout 3种事件与其相应的状态转换如图6-18所示 下面的【C++代码1】与【C++代码2】分别用两种不同的设计思路对传输门进行状态模拟请填补代码段中的空缺语句 【C++代码1】constintCLOSED=1;const intOPENING=2;constintOPEN=3;const intCLOSING=4;constintSTAYOPEN=5; //定义状态变量用不同整数表示不同状态 classDoor{private: private: intstate; //传输门当前状态void setStateintstate{this->state=stale;} //设置当前状态public: Door:stateCLOSED{}; voidgetState{ //根据当前状态输出相应的字符串 switchstate{ caseOPENING:cout<<OPENING<<endl; break;caseCLOSED: cout<<CLOSED<<endl;break; caseOPEN:cout<<OPEN<<endl; break; caseCLOSING:cout<<CLOSING<<endl; break; caseSTAYOPEN:cout<<STAYOPEN<<endl;break; } }voidclick{ //发生click事件时进行状态转换if 1setStateOPENING; elseif2 setStateCLOSING;else if3setStateSTAYOPEN; } voidtimeout{ //发生timeout事件时进行状态转换 ifstate==OPEN setStateCLOSING;} voidcomplete{ //发生complete事件时进行状态转换 ifstate==OPENINGsetStateOPEN; elseifstate==CLOSING setStateCLOSED;} };int main{DooraDoor; aDoor.getState;aDoor.click;aDoor.getState; aDoor.complete;aDoor.getState; aDoor.click;aDoor.getState;aDoor.click; aDoor.getState;return0; }【C++代码2】classDoor {public: DoorState*CLOSED*OPENING*OPEN*CLOSING*STAYOPEN *state;Door; virtual~Door{... //释放申请的内存此处代码省略}; voidsetStateDoorState*state{this->state=state; }voidgetState{ //例如当前状态为CLOSED时输出字符串为CLOSED }; voidclick;void timeout;void complete;}; Door::Door{CLOSED= newDoorClosedthis;OPENING=new DoorOpeningthis;OPEN=new DoorOpenthis;CLOSING=new DoorClosingthis;STAYOPEN=new DoorStayOpenthis;state= CLOSED;} voidDoor::click{4;} voidDoor::timeout{5;} voidDoor::complete{6;} classDoorState{ //定义一个抽象的状态它是所有状态类的基类protected:Door *door;public: DoorStateDoor*door{this->door=door;} virtual~DoorStatevoid; virtualvoidclick{} virtualvoidcomplete{} virtualvoidtimeout{} };classDoorClosed:public DoorState{//定义一个基本的closed状态 public:DoorClosedDoor *door:DoorStatedoor{}virtual~ DoorClosed{}void click;}; voidDoorClosed::click{7;} //其他状态类的定义与实现代码省略iht main{DooraDoor; aDoor.getState;aDoor.click; aDoor.getState;aDoor.complete; aDoor.getState;aDoor.timeout;aDoor.getState; return0; 【问题1】 请将以上【C++代码1】与【C++代码2】程序段中的1~7空缺处的语句填写完整
从下列3道试题试题5至试题7中任选1道解答如果解答的试题数超过1道则题号小的1道解答有效 阅读以下应用说明及VisualBasic程序代码根据要求回答问题1至问题3 【说明】在Visual Basic程序中设计一个个人所得税计算器其应用程序的运行窗口如图6-16所示 窗口中的3个文本框和两个按钮的名称分别为Txt_salaryTxt_baseTxL_taxCmd_compute和 Cmd_quit个人所得税计算器程序运行时文本框Txt_base中存放的是免税金额基数应扣除的基本费用当用户在文本框Txt_salary中输入月收入工资或薪金并单击【计算】按钮Cmd_compute后Txt_tax框中就显示计算所得的应纳税额文本框Txt_base和Txt_tax在运行时不接受用户输入Txt_base的内容以灰色显示 个人工资或薪金所得税是按照超额累进的税率来征收的其计算方法如下以每月收入总额减去免税金额基数后的余额作为该月的月应纳税所得额再将应纳税所得额按相应级数采用相应的税率进行累进计算目前的免税金额基数为1 600元税率如表6-15所示 表6-15 个人所得税税率表工资薪金所得适用 级数 全月应纳税所得额 税率% 1 不超过500元的 5 2 超过500元至2000元的部分 10 3 超过2000元至5000元的部分 15 4 超过5000元至20000元的部分 20 5 超过20000元至40000元的部分 25 6 超过40000元至60000元的部分 30 7 超过60000元至80000元的部分 35 8 超过80000元至100000元的部分 40 9 超过100000元的部分 45 注本表所称全月应纳税所得额是指依照本法第六条的规定以每月收入额减除费用1600元后的余额或者减除附加减除费用后的余额 设某个人的全月应纳税所得额为M元用下面的公式计算其应缴纳的个人所得税额S元 若0<M≤500则S=M×5% 若500<M≤2000则S=500×5%+M-500×10% 若2000<M≤5000则S=500×5%+1500×10%+M-2000×15% 若5000<M≤20000则S=500×5%+1500×10%+3000×15%+M-5000×20% 假设某程序员2008年5月份工资总额为4700元减去1600元后应纳税所得额为3100元其应缴纳的个人所得税额为500×5%+1500×10%+1100×15%=340元 在开发过程中需要编写的程序代码如下【VisualBask程序】Option Base0PrivateSubCmdcompute-Click DimpayleveltaxPrate paylevel=Array050020005000200004000060000800001000001000001 taxPrate=Array51015202530354045 M=1S=0 IfM>0ThenForj=1To9 If2Then s=s+paylevelj-paylevelj-1*taxPratej-1/100 Else 3Exit ForEndif NextjEndif4 =Str$SEndSubPrivateSub Cmd_quit_ClickEndEndSub PrivateSubForm_LoadTxt_tax.Text= Txt_salary.Text= Txt_base.Text=1600Txt_tax.Locked= TrueTxt_base.Enabled=5 EndSub 【问题2】 若要求在图6-16窗口中用户输入月工资或薪金收入后直接按回车键或向下方向箭就能使焦点当前光标跳到应扣除的基本费用的输入文本框而不用【Tab】键进行切换请将以下文本框ht_salary的KeyDown按键事件过程中空缺的程序代码填写完整 IfKeyCode=13OrKeyCode=40Then 6EndIf
【说明】 本程序的功能是生成螺旋方阵用户可以输入该方阵的行列数然后就生成对应的螺旋方阵例如当n=5时对应的螺旋方阵如下 116151413 217242312 318252211 419202110 56789 【C++代码】 #includestdio.h #includeiostreamh intarray[11][11]; inttemp; intROW; voidgodownint&mint&a { fortemp=1;temp<=ROW;temp++ ifarray[temp][a]==0 array[temp][a]=1; a++; } voidgorightint&mint&b { fortemp=1;temp<=ROW;temp++ ifarray[b][temp]==0 array[b][temp]=m++; b--; } voidgoupint&m.int&c { fortemp=ROW;temp>0;temp- ifarray[temp][c]==0 array[temp][c]=m++; c--; } voidgoleftint&mint&d { fortemp=ROW;temp>0;temp-- ifarray[d][temp]==0 array[d][temp]=m++; 2; } voidmain { intabcdmaxm; cin>>ROW; cout>>end1; fora=1;a<=ROW;a++ forb=1;b<=ROW;b++ 3; m=1; a=d=1; b=c=ROW; max=4; whiiem<=max { godownma; 5mb; goupmc; goleftmd: } fora=1;a<=ROW;a++ { forb=1;b<=ROW;b++ printf%3darray[a][b]; cout<<end1; } }
【说明】 某学校举办了一场奥运知识竞赛参加竞赛的选手为200名1~200为选手编号竞赛时间为9:00~11:008道竞赛题目依次从A~H编号选手可按任意次序答题每完成一道题目可立即提交答案若答案正确Y则选择其他题目进行解答否则可继续做该题目或选择其他题目进行解答直至竞赛结束 选手提交答案的情况及判定结果由专人即时录入录入数据包括提交答案的时间选手编号题目编号A~H是否正确Y/N等 对竞赛情况进行统计和排名的规则如下 1.若选手X在竞赛时提交的题目P解答正确则解答该题目所用时间计算如下 解答题目P的用时=提交题目P正确的时间-竞赛的开始时间+罚时罚时=提交题目P错误解答的次数×20例如表1中14号选手在10:27提交了题目A的正确解答因此该选手正确解答该题目所用时间P为87分钟由于他在09:37和09:52两次提交了题目A的错误解答因此罚时为2×20分钟=40分钟所以14号选手解答题目A的用时=87+40分钟127分钟 2.已经提交正确答案的题目再次提交时不再计算 3.竞赛结束时选手的总用时为所有解答正确的题目用时累加所得解答不正确的题目不计时 4.排名时完成题目数量多者排名靠前若完成的题目数相同则用时少者排名靠前若完成的题目数和所用时间均相等则名次相同完成题目数为的选手不参加排名 本应用程序的运行窗口如图3所示 窗口中的两个文本框为Txt_time和Txt_player分别用于录入提交答案的时间和选手编号组合列表框Combo1提供题目编号A~H录入时从中选择检查框Chk_yn用于输入解答是否正确信息当单击确定按钮Cmd_comfirm时录入的提交信息加入列表框List1中排名情况在列表框List2输出单击关闭按钮时退出应用程序 在开发过程中需要编写的部分程序代码如下 【程序】 PrivateTypeinfo NoAsInteger′选手编号 NumAsInteger′完成题目数量 TimeAsInteger′完成题目的总用时 d8AsInteger′d用于记录提交第i个题目错误答案的次数 a8AsBoolean′a用于记录第i个题目是否已经提交正确答案 EndType DimR201Asinfo′R[j]用于统计编号为j的选手提交答案的情况 DimMaxlndexAsInteger′Maxlndex记录提交答案的选手中编号最大者 PrivateSubForm_Load Fori=1to8 Combo1.Addltemchr1 Next Combo1.Text=Combo1.List0:txt_time.Text=:txt_player.Text= Fori=1To200 Rinum=0:Ri.time=0:Ri.no=i Forj=1To8 Ri.dj=0:Ri.aj=False Nextji EndSub PrivateSubcmd_confirm_Click DimhmktimeAsIntegerchpasss1AsString K=Instrtxt_timetext::Ifk<2ThenGotoerror1 H=ValLefttxt_time.Textk-1:m=ValMidtxt_time.Textk+1 Ifh>11Orh=11Andm>0Orm>=60Thengotoerrorl Time=2′计算答题时间以分钟为单位 Iftxt_platertext<1ortxt_playertext>200ThenGotoerrorl ch=3 pass=IIfchk_yn.4=0NY s1=txt_time.Text+Space4+txt_player.Text s1=s1+Space10-Lentxt_player.Text+ch+Space8+pass List1.Additems1 K=Valtxt_player.Text′k为选手编号 Rk.no=k′编号为k的选手的提交信息记录在下标为k的数组 ′元素中 Ifk>maxindexThenmaxindex=k M=Ascch-Asca Ifpass<>YThen′编号为k的选手提交第m个题目的解答不正确 Rk.dm=Rk.dm+1 ElseIfRk.am<>TrueThen′已经提交正确的题目的解答不再计算 Rk.am=true:Rk.num=Rk.num+1 Rk.time=Rk.time+5 Callstatistic′调用过程statistic进行实时排名和输出 EndIf ExitSub error1:MsgBox录入信息有错误!vbOKOnly EndSub
试题七阅读以下说明和流程图填补流程图中的空缺 [说明] 假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779 [流程图]本题流程图如图8-31所示
【Java代码】 classusethreadimplements1{ intnum usethreadintn{ num=n; } publicvoid2{ forinti=0;i<3;i++ System.out.printlnrunning:+num; System.out.printlnfinished:+num; } publicclassmulthread{ publicstaticvoidmainStringargs[]3InterruptedException{ Threadm1=newThreadnewusethread1; Threadm2=newThreadnewusethread2; m1.start; m2.start; m1.join; m2.join; } } 【问题1】 补充完整上面Java代码中n处 【问题2】 写出上面Java代码运行的结果
阅读以下技术说明流程图和C程序根据要求回答问题1和问题2 【说明】 如图6-13所示的程序流程图描述了对8位二进制整数求补的算法该算法的计算过程如下从二进制数的低位最右位开始依次向高位逐位查看直到首次遇到1时停止查看然后对该1位左面的更高位如果存在的话逐位求反所得的结果就是对原二进制数求补的结果例如对二进制整数10010110求补的结果时01101010 设8位二进制整数中的各位从低位到高位依次存放在整型数组BIT的BIT[1]~BIT[8]中例如二进制整数10010110存放在数组BIT后则有BIT[1]=0BIT[2]=1BIT[7]=0BIT[8]=1若流程图中存在空操作则用NOP表示 以下待修改的【C程序】完成的功能是对于给定的1个长正整数从其个位数开始每隔一位取1个数字即取其个位百位和万位等数字形成1个新的整数并输出例如将该程序修改正确后运行时若输入9753186420则输出的整数为73840 【C程序】行号C代码01 #include<stdio.h>02int main03{long nnum;04int i;05do{ 06 printf请输入一个正整数:;07 scanf%1dn;08 }whilen<=0;09 k=1;10for i=1;n>=0;i++{11 ifi%2=1{12 num=num+n%10*k; 13k= k*10;14 }15n= n/10;16}17 printf新数据为%d/nnum;18 return0;19 } 【问题2】 待修改的【C程序】中存在3个错误请指出各个错误所在的行号并给出相应的修改意见
类Stock的定义中有两处错误请指出错误所在行号并给出该行修改后的完整结果
试题七阅读以下说明和流程图填补流程图中的空缺 [说明] 假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779 [流程图]本题流程图如图8-31所示
【说明】 求解约瑟夫环问题算法分析n个士兵围成一圈给他们依次编号班长指定从第w个士兵开始报数报到第s个士兵出列依次重复下去直至所有士兵都出列 【流程图】 【问题】 将流程图中的1~5处补充完整
【说明】 著名的四色定理指出任何平面区域均可以用4种颜色着色使相邻区域着不同的颜色本程序对给定的区域图找出所有可能的不超过4种颜色的着色方案 【函数】 #include<stdio.h> #defineN10/*要着色的N个区域*/ voidoutputintcolor[]/*输出一种着色方案color[i]的值为区域i所着颜色*/ { inti; fori=0;i<N;i++ printf%4dcolor[i]; printf/n; } intbackint*ipintcolor[j]/*回溯*/ intc=4; whilec==4 { if*ip<=0 return0: --*ip; c=1; color[*ip]=-1; } returnc; } /*检查区域i考查c种颜色的可能性*/ intcolorOKihtiintcintadj[][N]intcolor[] { intj; forj=0;j<i;j++ if2 return0; return1; } /*为区域i选一种可着的颜色*/ intselectintiintcintadj[][N]intcolor[] /*寻找各种着色方案adj[i][j]=1表示区域i与区域j不相邻*/ { intk; fork=c;k<=4;k++/*4种颜色*/ ifcolorOK3 returnk; return0; } intcoloringintadj[][N] { intcolor[N]iccnt; fori=0;i<N;i++color[i]=-1: i=c=0;cnt=0; while1 [ ifc=4==0 { c=back&icolor; ifc==0 returncnt; } else { 5; i++; ifi==N { outputcolor; ++cnt; c=back&icolor; } else c=0; } } } voidmain { intadj[N][N]={{0101111111} {1011011110} {0101011011} {1110110011} {1001010000} {1111101001} {1110010010} {1100000011} {1111001101} {1011010110} }; printf共有%d组解./ncoloringadj;
【说明】 编写程序生成一个新文本文件它由一个已知文本文件的所有偶数行组成要求已知文本文件名和新文本文件名均从键盘输入请填空完善程序 【C语言程序】 #include<stdio.h> main { FILE*oldf*newf; charchfname[20]; inti; do{ printfEnternameofexistedtextfiletoberead:; scanf%sfname; ifoldf=fopenfnamer==NULL printfFile%scan’topen!/nfname; }whileoldf==NULL; do{ printfEntermaneofnewtextfiletobewritten:; scanf%sfname; if1==NULL printfFile%scan’topen!/nfname; }while2; i=1; while!feofoldf { whilech=fgetcoldf!=3 { ifi%2==4 fputcchnewf; } fputc’/n’newf; 5; } fcloseoldf; fclosenewf; }
【说明】 著名的四色定理指出任何平面区域图均可用4种颜色着色使相邻区域着不同的颜色以下C程序对给定的区域图找出所有可能的不超过4种颜色的着色方案该程序中用1~4分别表示4种颜色要着色的N个区域用0~-1编号区域相邻关系用adj[][]矩阵表示矩阵的i行j列的元素为1表示区域i与区域了相邻矩阵的i行j列的元素为0表示区域i与区域j不相邻数组color[]用来存储着色结果color[i]的值为区域i所着颜色 【C程序】 #include<stdio.h> #defineN10 voidoutputintcolor[]{/*输出一种着色方案*/ inti; fori=0;i<N;i++ printf%4dcolor[i]; printf/n; } intbackint*ipintcolor[]{/*回溯*/ intc=4; whilec==4{ if*ip<=0 return0; --*ip; c=1; color[*ip]=-1; } returnc; } /*检查区域i对c种颜色的可用性*/ intcolorOkintiintcint[][N]intcolor[]{ intj; forj=0;j<i;j++ if2 return0; return1; } /*为区域i选一种可着色的颜色*/ intselectintiintcintadj[][N]intcolor[]{ intk; fork=c;k<=4;k++ ifcolorOK3 returnk; return0; } intcoloringintadj[][N]{/*寻找各种着色方案*/ intcolor[N]iccnt; fori=0;i<N;i++ color[i]=-1; i=c=0; cnt=0; while1{ ifc=4==0{ c=back&icolor; ifc==0 returncnt; } else{ 5; i++; ifi==N{ outputcolor; ++cnt; c=back&icolor; } elsec=0; } } } voidmain intadj[N][N]= {{0101111111} {1011011110} {0101011011} {1110110011} {1001010000} {1111101001} {1110010010} {1100000011} {1111001101} {1011010110} }; printf共有%d组解./ncoloringadj; }
阅读下列说明和C++代码回答问题[说明] 已知下列程序运行时的输出应为1:11:1 1:1[C++程序]01#include <iostream>02usingnamespacestd; 03classstick{04protect; 051{};06Stockint nintpr=1{07shares=n;share_val=pr; 08};09void~stock{}; 10public:11//成员函数 12voidoutput{13 2<<shares<<:<<shareval<<endl;14 }15private:16 //成员变量17intshares;18 intshare_val;19}; 2021voidmain{22 Stocka1;a.output;23Stockb; b.output;24StockC=Stock ;c.output;25} 请补齐上述代码中的空缺1和2
【说明】 设有n个人围坐一圈并按顺时针方向从1到n编号从第s个人开始进行1到m的报数报数到第m个人则此人出圈再从他的下一个人重新开始1到m的报数如此进行下去直到所有的人都出圈为止 现要求按出圈次序每10人一组给出这n个人的顺序表 设n=100s=1m=10 1将1到n个人的序号存入一维数组p中 2若第i个人报数后出圈则将p置于数组的倒数第i个位置上而原来第i+1个至倒数第i个元素依次向前移动一个位置 3重复第2步直至圈中只剩下p[1]为止 #include<stdio.h> #defineN100 #defineS1 #defineM10 voidmain { intp[100]nsm; m=M; n=N; s=S; intijs1w; s1=s; fori=1;1;i++ 2=i; fori=n;i>=2;i-- { s1=3; ifs1==0s1=i; w=4; forj=s1;j<i;j++ p[j-1]=p[j]; p[i-1]=5; printf%4dp[i]} }
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术