首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
某些操作系统,能够使命令所需要的信息不从键盘接收,而取自另一个文件,这是系统的 (126) 机制。将一条命令的执行结果输出给下一条命令,作为其输入并加以处理,这是系统的 (127) 机制。使命令的执行...
查看本题答案
包含此试题的试卷
初级程序员《简单单选》真题及答案
点击查看
你可能感兴趣的试题
某些操作系统将一条命令的执行结果输出给下一条命令作为其输入并加以处理这是系统的机制使命令所需要
清屏
输出重定向
管道
显示屏蔽
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为22使命令的
会话语言
交互语言
机器语言
命令语言
某些操作系统将一条命令的执行结果输出给下一条命令作为其输入并加以处理这是系统的机制使命令所需要
输入重定向
批处理
读保护
管道
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为 2
链接
管道(线)
输入重定向
输出重定向
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为 2
输入重新定向
读保护
管道(线)
批处理
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为22使命令的
链接
管道(线)
输入重新定向
输出重新定向
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为 2
会话语言
命令定向
机器语言
作业控制语言
某些操作系统将一条命令的执行结果输出给下一条命令作为其输入并加以处理这是系统的9机制使命令所需要的信
链接
输入重定向
管道
输出重定向
(10)输入重定向管道读保护批处理
(11)管道输出重定向清屏显示屏蔽
(12)初始装入批处理管道系统生成
某些操作系统能够使命令所需要的信息不从键盘接收而取自另一个文件这是系统的126机制将一条命令的执行结
输出重定向
输入重定向
管道
链接
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为 2
清屏
屏蔽显示
输出重新定向
管道(线)
某些操作系统能够使命令所需要的信息不从键盘接收而取自另一个文件这是系统的126机制将一条命令的执行结
人机会话
机器指令
命令定向
作业控制
某些操作系统将一条命令的执行结果输出给下一条命令作为其输入并加以处理这是系统的机制使命令所需要
人机会话
机器指令
命令定向
作业控制
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为22使命令的
输入重新定向
读保护
管道(线)
批处理
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为22使命令的
系统生成
初始装入
批处理
管道(线)
某些操作系统能够使命令所需要的信息不从键盘接收而取自另一个文件这是系统的126机制将一条命令的执行结
初始装入
批处理
管道
系统生成
某些操作系统将一条命令的执行结果输出给下一条命令作为其输入并加以处理这是系统的机制使命令所需要
链接
输出重定向
管道
输入重定向
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为22使命令的
清屏
屏蔽显示
输出重新定向
管道(线)
某些操作系统能够使命令所需要的信息不从键盘接收而取自另一个文件这是系统的126机制将一条命令的执行结
清屏
输出重定向
管道
显示屏蔽
某些操作系统将一条命令的执行结果输出给下一条命令作为其输入并加以处理这是系统的机制使命令所需要
管道
批处
初始装入
系统生成
某些操作系统把一条命令的执行结果输出给下一条命令作为它的输入并加以处理这种机制称为 2
系统生成
初始装入
批处理
管道(线)
热门试题
更多
[说明]已知1900年1月1日是星期一下面的函数count_5_13intyear用于计算给定的年份year中有几个黑色星期五黑色星期五指既是13日又是星期五的日期函数count_5_13intyear首先算出年份year的1月13日是星期几然后依次计算每个月的13日是星期几若是星期五则计数程序中使用了函数isLeapYearintyear其功能是判断给定年份是否为闰年返回值为1或0分别表示year是或不是闰年[C语言函数]intCount_5_13intyearintdate;/*date为0表示星期日为1~6分别表示星期一至星期六*/longdays=0;/*days记录天数*/intmyc=0;/*c用于表示黑色星期五的个数*/ifyear<1900return-1;/*计算从1900年1月1日起至给定年份year的1月13日间隔的天数*/days=12fory=1900;y<year;y++days+=365;ifiSLeapYearY1;date=days%7+1%7;/*算出给定年份year的1月13日是星期几+/c=21:0;form=1;3;m++switchmcase1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:days=28;if4days=29;break;/*endofswitch*/date=days%7+5%7;ifdate==5c++;/*endoffor*/returnc;
[说明]下面的程序按照以下规则输出给定名词的复数形式1若名词以y结尾则删除y并添加ies2若名词以sch或sh结尾则添加es3其他所有情况直接添加s[C程序]#include<stdio.h>#include<string.h>char*pluralchar*wordintn;char*pstr;n=strlenword;/*求给定单词的长度*/pstr=char*mallocn+3;/*申请给定单词的复数形式存储空间*/if!pstr||n<2returnNULL;strcpypstrword;/*复制给定单词*/if1pstr[n-1]=’i’;pstr[n]=’e’;pstr[n+1]=’s’;2;elseifpstr[n-1]==’s’||pstr[n-1]==’h’&&3pstr[n]=’e’;pstr[n+1]=’s’;pstr[n+2]=’/0’;elsepstr[n]=’s’;pstr[n+1]=’/0’;4;maininti;char*ps;charwc[9][10]=chairdairybosscircusflydogchurchcluedish;fori=0;i<9;i++ps=5;printf%s:%s/nwc[i]ps;/*输出单词及其复数形式*/freeps;/*释放空间*/systempause;
[说明]已知1900年1月1日是星期一下面的函数count_5_13intyear用于计算给定的年份year中有几个黑色星期五黑色星期五指既是13日又是星期五的日期函数count_5_13intyear首先算出年份year的1月13日是星期几然后依次计算每个月的13日是星期几若是星期五则计数程序中使用了函数isLeapYearintyear其功能是判断给定年份是否为闰年返回值为1或0分别表示year是或不是闰年[C语言函数]intCount_5_13intyearintdate;/*date为0表示星期日为1~6分别表示星期一至星期六*/longdays=0;/*days记录天数*/intmyc=0;/*c用于表示黑色星期五的个数*/ifyear<1900return-1;/*计算从1900年1月1日起至给定年份year的1月13日间隔的天数*/days=12fory=1900;y<year;y++days+=365;ifiSLeapYearY1;date=days%7+1%7;/*算出给定年份year的1月13日是星期几+/c=21:0;form=1;3;m++switchmcase1:case3:case5:case7:case8:case10:case12:days=31;break;case4:case6:case9:case11:days=30;break;case2:days=28;if4days=29;break;/*endofswitch*/date=days%7+5%7;ifdate==5c++;/*endoffor*/returnc;
[说明]函数countmonthsDATEstartDATEend的功能是计算两个给定日期之间所包含的完整月份数该函数先算出起止日期中所含的完整年数再计算余下的完整月份数规定两个相邻年份的同月同日之间的问隔为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.282007.1.31—2007.2.28的间隔都是1个月计算起止日期间隔不足一年的完整月份数时分两种情况1起止日期不跨年度先用终止日期的月号减去起始日期的月号得到月份数然后再根据情况进行修正例如起止日期为2008.3.31—2008.9.20通过月号算出月份数为6修正时通过调用函数makevalid将2008.9.31改为2008.9.30与终止日期2008.9.20比较后将月份数修正为52起止日期跨年度计算方法如下例所示对于起止日期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日期数据类型定义如下typedefstructintyear;intmonth;intday;/*日期的年号4位月和日号*/DATE;程序中使用的函数cmp_dateisLeapYear和makevalid说明如表11-8所示表11-8函数说明函数名参数返回值说明cmp_dateDATEstartDATEend-1start<end0start=end1start>end比较两个日期的大小例如2007.1.30小于2007.5.152008.11.23等于2008.11.232008.1.31大于2007.5.15isLeapYearintyear1year表示的年号是闰年0year表示的年号不是闰年判断给定年号是否为闰年makevalidDATE*r无若日期*r是非法的即*r不是闰年时其日期为2月29日或者其46911等月份出现了31日则将其日期改为当月最后[C语言函数]intcount_monthsDATEstartDATEendintyears=0months=0;DATEr;ifcmp_datestartend>0r=start;start=end;end=r;years=end.year-start.year;/*计算年数*/r=start;r.year=end.year;ifcmp_daterend>0/*修正年数*/1;r.year--;ifr.year<end.year/*跨年度时先计算到12月的月份数*/months=2;r.month=12;months+=end.month+12-r.month%12;r.year=end.year;r.month=end.month;makeva!id3;/*将日期r修正为有效日期*/ifcmp_daterend>0/*修正月份数*/4;months+=5;/*计算总月份数*/returnmonths;
[说明]下面的程序按照以下规则输出给定名词的复数形式1若名词以y结尾则删除y并添加ies2若名词以sch或sh结尾则添加es3其他所有情况直接添加s[C程序]#include<stdio.h>#include<string.h>char*pluralchar*wordintn;char*pstr;n=strlenword;/*求给定单词的长度*/pstr=char*mallocn+3;/*申请给定单词的复数形式存储空间*/if!pstr||n<2returnNULL;strcpypstrword;/*复制给定单词*/if1pstr[n-1]=’i’;pstr[n]=’e’;pstr[n+1]=’s’;2;elseifpstr[n-1]==’s’||pstr[n-1]==’h’&&3pstr[n]=’e’;pstr[n+1]=’s’;pstr[n+2]=’/0’;elsepstr[n]=’s’;pstr[n+1]=’/0’;4;maininti;char*ps;charwc[9][10]=chairdairybosscircusflydogchurchcluedish;fori=0;i<9;i++ps=5;printf%s:%s/nwc[i]ps;/*输出单词及其复数形式*/freeps;/*释放空间*/systempause;
指出该代码是否存在内存泄漏
类Stock的定义中有两处错误请指出错误所在行号并给出该行修改后的完整结果
[说明]下面C程序代码的功能是对于输入的一个正整数n100≤n<1000先判断其是否是回文数正读反读都一样的数若不是则将n与其反序数相加再判断得到的和数是否为回文数若还不是再将该和数与其反序数相加并进行判断依此类推直到得到一个回文数为止例如278不是回文数其反序数为872相加后得到的1150还不是回文数再将1150与其反序数511相加得到的1661是回文数函数intisPalmlongm的功能是将正整数m的各位数字取出存入数组中然后判断其是否为回文数若m是回文数则返回1否则返回0[C程序代码]#include<stdio.h>#include<stdlib.h>intisPalmlongminti=0k=0;charstr[32];whilem>0str[k++]=1+’0’;m=m/10;fori=0;i<k/2;i++ifstr[i]!=str[2]return0;return1;intmainlongnat;printfinputapositiveinteger:;scanf%ld&n;ifn<100||n>=1000return-1;while3printf%id->n;fora=0t=n;t>0;a=4*10+t%10;t=t/10;n=5;printf%id/nn;systempause;return0;
[说明]某电信公司记录了每个用户的详细通话情况每次通话数据记录在一行现将某用户某月的通话数据存入一个文本文件dial.txt中其数据格式如下拨入或拨出标记通话开始时间通话结束时间对方号码注1数据字段以一个空格作为分隔符注2拨入和拨出标记均为小写字母拨入标记为i表示其他用户呼叫本机本机用户不需付费拨出标记为o表示本机呼叫其他用户此时本机用户需要付费注3通话开始和结束时间的格式均为HH:MM:SS其中HH表示小时取值00~23MM表示分钟取值00~59SS表示秒取值00~59从通话开始到结束这段时间称为通话时间假定每次通话时间以秒为单位最短为1秒最长不超过24小时注4跨月的通话记录计入下个月的通话数据文件例如o23:01:1200:12:15表示本次通话是本机呼叫其他用户时间从23时01分12秒至次日的0时12分15秒通话时间为71分03秒下面程序的功能是计算并输出该用户本月电话费单位元通话计费规则为1月通话费按每次通话费累加2每次的通话费按通话时间每分钟0.08元计算不足1分钟时按1分钟计费对于每次的拨出通话程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度以秒为单位然后算出本次通话时间和通话费例如若输入文件dial.txt的数据如下所示则输出fee=7.44o14:05:2314:11:2582346789i15:10:0016:01:1513890000000o10:53:1211:07:0563000123o23:01:1200:12:1513356789001[C语句程序代码]#include<stdio.h>FILE*fin;intmaincharstr[80];inth1h2m1m2s1s2;longt_startt_endinterval;intc;doublefee=0;fin=fopendial.txtrj;if!finreturn-1;while!feoffinif!fgetsstr80finbreak;if1continue;h1=str[2]-48*10+str[3]-48;m1=str[5]-48*10+str[6]-48;s1=str[8]-48*10+str[9]-48;h2=str[11]-48*10+str[12]-48;m2=str[14]-48*10+str[15]-48;s2=str[17]-48*10+str[18]-48;t_start=h1*60*60+m1*60+s1;/*通话开始时间*/t_end=h2*60*60+m2*60+s2/*通话结束时间*/if2/*若通话开始和结束时间跨日*/interval=3-t_start+t_end;elseinterval=t_end-t_start;c=4;/*计算完整分钟数表示的通话时间*/ifinterval%605;fee+=c*0.08;fclosefin;printffee=%.21f/nfee;return0;
[说明]下面C程序代码的功能是对于输入的一个正整数n100≤n<1000先判断其是否是回文数正读反读都一样的数若不是则将n与其反序数相加再判断得到的和数是否为回文数若还不是再将该和数与其反序数相加并进行判断依此类推直到得到一个回文数为止例如278不是回文数其反序数为872相加后得到的1150还不是回文数再将1150与其反序数511相加得到的1661是回文数函数intisPalmlongm的功能是将正整数m的各位数字取出存入数组中然后判断其是否为回文数若m是回文数则返回1否则返回0[C程序代码]#include<stdio.h>#include<stdlib.h>intisPalmlongminti=0k=0;charstr[32];whilem>0str[k++]=1+’0’;m=m/10;fori=0;i<k/2;i++ifstr[i]!=str[2]return0;return1;intmainlongnat;printfinputapositiveinteger:;scanf%ld&n;ifn<100||n>=1000return-1;while3printf%id->n;fora=0t=n;t>0;a=4*10+t%10;t=t/10;n=5;printf%id/nn;systempause;return0;
[说明]java.util库中提供了Vector模板类可作为动态数组使用并可容纳任意数据类型该类的部分方法说明如下所示方法名含义addk向vector对象的尾部添加一个元素kremoveElementAti删除序号为i的元素vector元素序号从0开始isEmpty判断vector对象是否含有元素size返回vector对象中所包含的元素个数[Java代码]Import1;publicclassJavaMainstaticprivatefinalint2=6;publicstaticvoidmainString[]argsVectortheVector=newVector<3>;//初始化theVector将theVector的元素设置为0至5forintcEachItem=0;cEachItem<ARRAY_SIZE;cEachItem++theVector.add4;showVectortheVector;//依次输出theVector巾的元素theVector.removeElementAt3;showVectortheVector;publicstaticvoidshowVectorVectortheVectoriftheVector.isEmptySystem.out.printintheVectorisempty.;return;forintloop=0;loop<theVector.size;loop++System.out.printtheVector.getloop;System.out.print;System.out.printin;该程序运行后的输出结果为0123455
写出下面消息对应的方法编号如果该消息错误或者没有对应的方法调用请填写无sh->height
不考虑内存释放问题下列赋值语句中哪两个是合法的写出合法赋值语句的编号①sq=sh②sh=tr③tr=sq④sq=tr⑤sh=sq
[说明] 某单位动态收集的数据中常包含重复的数据所以需要进行处理使得重复的数据仅出现一次下面流程图的功能是在nn≥1个数据D1D2…Dn中选出其中所有不重复的k个数据置于原来前k个数据的位置上 该流程图的算法如下第1个数据必然被选出然后从第2个数据开始逐个考察其余的数据假设D1D2…Dmm≥1是已经选出的不重复的数据则对于数据Dim<i≤n将其依次与DmDm-1…D1进行比较若没有发现与之相同者则Di被选出并置于Dm+1的位置上否则对Di不做处理 例如如下10个数据 5227447191n=10 经过上述算法处理后的结果为 527419k=6 [流程图] 本题流程图如图8-32所示 注循环开始的说明按照“循环变量名循环初值循环终值增量”格式描述 5处填
[说明]某电信公司记录了每个用户的详细通话情况每次通话数据记录在一行现将某用户某月的通话数据存入一个文本文件dial.txt中其数据格式如下拨入或拨出标记通话开始时间通话结束时间对方号码注1数据字段以一个空格作为分隔符注2拨入和拨出标记均为小写字母拨入标记为i表示其他用户呼叫本机本机用户不需付费拨出标记为o表示本机呼叫其他用户此时本机用户需要付费注3通话开始和结束时间的格式均为HH:MM:SS其中HH表示小时取值00~23MM表示分钟取值00~59SS表示秒取值00~59从通话开始到结束这段时间称为通话时间假定每次通话时间以秒为单位最短为1秒最长不超过24小时注4跨月的通话记录计入下个月的通话数据文件例如o23:01:1200:12:15表示本次通话是本机呼叫其他用户时间从23时01分12秒至次日的0时12分15秒通话时间为71分03秒下面程序的功能是计算并输出该用户本月电话费单位元通话计费规则为1月通话费按每次通话费累加2每次的通话费按通话时间每分钟0.08元计算不足1分钟时按1分钟计费对于每次的拨出通话程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度以秒为单位然后算出本次通话时间和通话费例如若输入文件dial.txt的数据如下所示则输出fee=7.44o14:05:2314:11:2582346789i15:10:0016:01:1513890000000o10:53:1211:07:0563000123o23:01:1200:12:1513356789001[C语句程序代码]#include<stdio.h>FILE*fin;intmaincharstr[80];inth1h2m1m2s1s2;longt_startt_endinterval;intc;doublefee=0;fin=fopendial.txtrj;if!finreturn-1;while!feoffinif!fgetsstr80finbreak;if1continue;h1=str[2]-48*10+str[3]-48;m1=str[5]-48*10+str[6]-48;s1=str[8]-48*10+str[9]-48;h2=str[11]-48*10+str[12]-48;m2=str[14]-48*10+str[15]-48;s2=str[17]-48*10+str[18]-48;t_start=h1*60*60+m1*60+s1;/*通话开始时间*/t_end=h2*60*60+m2*60+s2/*通话结束时间*/if2/*若通话开始和结束时间跨日*/interval=3-t_start+t_end;elseinterval=t_end-t_start;c=4;/*计算完整分钟数表示的通话时间*/ifinterval%605;fee+=c*0.08;fclosefin;printffee=%.21f/nfee;return0;
写出下面消息对应的方法编号如果该消息错误或者没有对应的方法调用请填写无sq->height
[说明] 已知对某载客车辆Car进行类建模如图12-2所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客 constint1=7;//定义最多载客数 constintMAX_WHEELS=5;//定义最多轮胎数 classBody//此处代码省略;//车身类 classPassenger//此处代码省略;//乘客类 ClassWheel//此处代码省略;//车轮类 ClassDriver//司机类 public stringname;//表示第几路公交车司机 DriverstringdriverNamemarne2;//构造函数 ; classEngine//引擎类 public stringengineNo;//引擎编号 EnginestringengineNo3->engineNo=engineNo; //构造函数 ; ClassCar//汽车类 protected: Engine*engine;Driver*driver;Bodybody; Wheel*wheels[MAX_WHEELS];Passenger*passengers[MAX_PASSENGERS]; public CarDriver*driver//构造函数 this->driver=driver; engine=newEngine"TX6536型号引擎"; forintindex=0;index<MAX_WHEELS;index++ wheels[index]=newWheel; forintindex=0;indexpassengers[index]=NULL; virtual-Car//析构函数 forintindex=0;index<MAX_WHEELS;index++ deletewheels[index]; delete4; intgetPassengerNumber//获取车上乘客数量 //此处代码省略 voidgetonpassengerPassenger*apassenger //乘客上车 //此处代码省略 voidrun//开车 ifdriver==NULLcout<<"司机尚未上车!";return; //此处代码省略 ; voidmain Driverdriver"第五路公交车司机"; Carcar5; Passengerpassengers[MAX_PASSENGERS]; forintindex=0;index<MAX_PASSENGERS;index++ //乘客上车处理 car.getOnPasSenger&passengers[index]; car.run; 5处填
写出下面消息对应的方法编号如果该消息错误或者没有对应的方法调用请填写无tr->height
[说明]下面待修改的C程序完成的功能是对于给定的一个长正整数从其个位数开始每隔一位取一个数字即取其个位百位万位等数字形成一个新的整数并输出例如将该程序修改正确后运行时若输入14251382则输出的整数为4532下面给出的C程序代码中有5个错误请指出所有的错误[C程序代码]01#include<stdio.h>0203intmain0405longnnum;06inti;0708do09printf清输入一个正整数:;10scanf%idn;11whilen<=0;12k=1;13fori=1;n>=0;i++14ifiio2=115Rum=num+n%10*k;16k=k*10;1718n=n/10;1920printf新数据为:%d/nnum;21return0;22
[说明]C++标准模板库中提供了vector模板类可作为动态数组使用并可容纳任意数据类型其所属的命名空问为stdvector模板类的部分方法说明如表12-3所示表12-3vector模板类的部分方法方法含义push_backk向vector对象的尾部添加一个元素kbegin返回一个迭代器对象该对象指向vector中的第一个元素end返回一个迭代器对象该对象指向vector中的最后一个元素empty测试vector对象是否为空eraseptr删除vector中ptr指向的元素[C++代码]#include<iostream>#include<vector>usingnamespace1;typedefvector<2>INTZECTOR;constintARRAY_SIZE=6;voidShowVectorINTVECTOR&theVector;intmainINTVECTORtheVector;//初始化theVector将theVector的元素依次设置为0至5forintcEachItem=0;cEachItem<ARRAY_SIZE;cEachItem++theVector.push_back3;ShowVectortheVector;//依次输出theVector中的元素theVector.erasetheVector.begin+3;ShowVectortheVector;voidShowVectorINTVECTOR&theVectoriftheVector.emptycout<<theVectorisempty.<<endl;return;INTVECTORiterator4;fortheIterator=theVector.begin;theIterator!=theVector.end;theIterator++cout<<*theIterator;iftheIterator!=thevector.end-1cout<<;cout<<endl;该程序运行后的输出结果为0123455
[说明]下面待修改的C程序完成的功能是对于给定的一个长正整数从其个位数开始每隔一位取一个数字即取其个位百位万位等数字形成一个新的整数并输出例如将该程序修改正确后运行时若输入14251382则输出的整数为4532下面给出的C程序代码中有5个错误请指出所有的错误[C程序代码]01#include<stdio.h>0203intmain0405longnnum;06inti;0708do09printf清输入一个正整数:;10scanf%idn;11whilen<=0;12k=1;13fori=1;n>=0;i++14ifiio2=115Rum=num+n%10*k;16k=k*10;1718n=n/10;1920printf新数据为:%d/nnum;21return0;22
[说明]C++标准模板库中提供了vector模板类可作为动态数组使用并可容纳任意数据类型其所属的命名空问为stdvector模板类的部分方法说明如表12-3所示表12-3vector模板类的部分方法方法含义push_backk向vector对象的尾部添加一个元素kbegin返回一个迭代器对象该对象指向vector中的第一个元素end返回一个迭代器对象该对象指向vector中的最后一个元素empty测试vector对象是否为空eraseptr删除vector中ptr指向的元素[C++代码]#include<iostream>#include<vector>usingnamespace1;typedefvector<2>INTZECTOR;constintARRAY_SIZE=6;voidShowVectorINTVECTOR&theVector;intmainINTVECTORtheVector;//初始化theVector将theVector的元素依次设置为0至5forintcEachItem=0;cEachItem<ARRAY_SIZE;cEachItem++theVector.push_back3;ShowVectortheVector;//依次输出theVector中的元素theVector.erasetheVector.begin+3;ShowVectortheVector;voidShowVectorINTVECTOR&theVectoriftheVector.emptycout<<theVectorisempty.<<endl;return;INTVECTORiterator4;fortheIterator=theVector.begin;theIterator!=theVector.end;theIterator++cout<<*theIterator;iftheIterator!=thevector.end-1cout<<;cout<<endl;该程序运行后的输出结果为0123455
[说明]函数countmonthsDATEstartDATEend的功能是计算两个给定日期之间所包含的完整月份数该函数先算出起止日期中所含的完整年数再计算余下的完整月份数规定两个相邻年份的同月同日之间的问隔为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.282007.1.31—2007.2.28的间隔都是1个月计算起止日期间隔不足一年的完整月份数时分两种情况1起止日期不跨年度先用终止日期的月号减去起始日期的月号得到月份数然后再根据情况进行修正例如起止日期为2008.3.31—2008.9.20通过月号算出月份数为6修正时通过调用函数makevalid将2008.9.31改为2008.9.30与终止日期2008.9.20比较后将月份数修正为52起止日期跨年度计算方法如下例所示对于起止日期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日期数据类型定义如下typedefstructintyear;intmonth;intday;/*日期的年号4位月和日号*/DATE;程序中使用的函数cmp_dateisLeapYear和makevalid说明如表11-8所示表11-8函数说明函数名参数返回值说明cmp_dateDATEstartDATEend-1start<end0start=end1start>end比较两个日期的大小例如2007.1.30小于2007.5.152008.11.23等于2008.11.232008.1.31大于2007.5.15isLeapYearintyear1year表示的年号是闰年0year表示的年号不是闰年判断给定年号是否为闰年makevalidDATE*r无若日期*r是非法的即*r不是闰年时其日期为2月29日或者其46911等月份出现了31日则将其日期改为当月最后[C语言函数]intcount_monthsDATEstartDATEendintyears=0months=0;DATEr;ifcmp_datestartend>0r=start;start=end;end=r;years=end.year-start.year;/*计算年数*/r=start;r.year=end.year;ifcmp_daterend>0/*修正年数*/1;r.year--;ifr.year<end.year/*跨年度时先计算到12月的月份数*/months=2;r.month=12;months+=end.month+12-r.month%12;r.year=end.year;r.month=end.month;makeva!id3;/*将日期r修正为有效日期*/ifcmp_daterend>0/*修正月份数*/4;months+=5;/*计算总月份数*/returnmonths;
[说明]下面C程序代码的功能是对于输入的一个正整数n100≤n<1000先判断其是否是回文数正读反读都一样的数若不是则将n与其反序数相加再判断得到的和数是否为回文数若还不是再将该和数与其反序数相加并进行判断依此类推直到得到一个回文数为止例如278不是回文数其反序数为872相加后得到的1150还不是回文数再将1150与其反序数511相加得到的1661是回文数函数intisPalmlongm的功能是将正整数m的各位数字取出存入数组中然后判断其是否为回文数若m是回文数则返回1否则返回0[C程序代码]#include<stdio.h>#include<stdlib.h>intisPalmlongminti=0k=0;charstr[32];whilem>0str[k++]=1+’0’;m=m/10;fori=0;i<k/2;i++ifstr[i]!=str[2]return0;return1;intmainlongnat;printfinputapositiveinteger:;scanf%ld&n;ifn<100||n>=1000return-1;while3printf%id->n;fora=0t=n;t>0;a=4*10+t%10;t=t/10;n=5;printf%id/nn;systempause;return0;
[说明]某电信公司记录了每个用户的详细通话情况每次通话数据记录在一行现将某用户某月的通话数据存入一个文本文件dial.txt中其数据格式如下拨入或拨出标记通话开始时间通话结束时间对方号码注1数据字段以一个空格作为分隔符注2拨入和拨出标记均为小写字母拨入标记为i表示其他用户呼叫本机本机用户不需付费拨出标记为o表示本机呼叫其他用户此时本机用户需要付费注3通话开始和结束时间的格式均为HH:MM:SS其中HH表示小时取值00~23MM表示分钟取值00~59SS表示秒取值00~59从通话开始到结束这段时间称为通话时间假定每次通话时间以秒为单位最短为1秒最长不超过24小时注4跨月的通话记录计入下个月的通话数据文件例如o23:01:1200:12:15表示本次通话是本机呼叫其他用户时间从23时01分12秒至次日的0时12分15秒通话时间为71分03秒下面程序的功能是计算并输出该用户本月电话费单位元通话计费规则为1月通话费按每次通话费累加2每次的通话费按通话时间每分钟0.08元计算不足1分钟时按1分钟计费对于每次的拨出通话程序中先分别计算出通话开始和结束时间相对于当日0点0分0秒的时间长度以秒为单位然后算出本次通话时间和通话费例如若输入文件dial.txt的数据如下所示则输出fee=7.44o14:05:2314:11:2582346789i15:10:0016:01:1513890000000o10:53:1211:07:0563000123o23:01:1200:12:1513356789001[C语句程序代码]#include<stdio.h>FILE*fin;intmaincharstr[80];inth1h2m1m2s1s2;longt_startt_endinterval;intc;doublefee=0;fin=fopendial.txtrj;if!finreturn-1;while!feoffinif!fgetsstr80finbreak;if1continue;h1=str[2]-48*10+str[3]-48;m1=str[5]-48*10+str[6]-48;s1=str[8]-48*10+str[9]-48;h2=str[11]-48*10+str[12]-48;m2=str[14]-48*10+str[15]-48;s2=str[17]-48*10+str[18]-48;t_start=h1*60*60+m1*60+s1;/*通话开始时间*/t_end=h2*60*60+m2*60+s2/*通话结束时间*/if2/*若通话开始和结束时间跨日*/interval=3-t_start+t_end;elseinterval=t_end-t_start;c=4;/*计算完整分钟数表示的通话时间*/ifinterval%605;fee+=c*0.08;fclosefin;printffee=%.21f/nfee;return0;
[说明]函数countmonthsDATEstartDATEend的功能是计算两个给定日期之间所包含的完整月份数该函数先算出起止日期中所含的完整年数再计算余下的完整月份数规定两个相邻年份的同月同日之间的问隔为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.282007.1.31—2007.2.28的间隔都是1个月计算起止日期间隔不足一年的完整月份数时分两种情况1起止日期不跨年度先用终止日期的月号减去起始日期的月号得到月份数然后再根据情况进行修正例如起止日期为2008.3.31—2008.9.20通过月号算出月份数为6修正时通过调用函数makevalid将2008.9.31改为2008.9.30与终止日期2008.9.20比较后将月份数修正为52起止日期跨年度计算方法如下例所示对于起止日期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日期数据类型定义如下typedefstructintyear;intmonth;intday;/*日期的年号4位月和日号*/DATE;程序中使用的函数cmp_dateisLeapYear和makevalid说明如表11-8所示表11-8函数说明函数名参数返回值说明cmp_dateDATEstartDATEend-1start<end0start=end1start>end比较两个日期的大小例如2007.1.30小于2007.5.152008.11.23等于2008.11.232008.1.31大于2007.5.15isLeapYearintyear1year表示的年号是闰年0year表示的年号不是闰年判断给定年号是否为闰年makevalidDATE*r无若日期*r是非法的即*r不是闰年时其日期为2月29日或者其46911等月份出现了31日则将其日期改为当月最后[C语言函数]intcount_monthsDATEstartDATEendintyears=0months=0;DATEr;ifcmp_datestartend>0r=start;start=end;end=r;years=end.year-start.year;/*计算年数*/r=start;r.year=end.year;ifcmp_daterend>0/*修正年数*/1;r.year--;ifr.year<end.year/*跨年度时先计算到12月的月份数*/months=2;r.month=12;months+=end.month+12-r.month%12;r.year=end.year;r.month=end.month;makeva!id3;/*将日期r修正为有效日期*/ifcmp_daterend>0/*修正月份数*/4;months+=5;/*计算总月份数*/returnmonths;
[说明] 已知对某载客车辆Car进行类建模如图12-2所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客 constint1=7;//定义最多载客数 constintMAX_WHEELS=5;//定义最多轮胎数 classBody//此处代码省略;//车身类 classPassenger//此处代码省略;//乘客类 ClassWheel//此处代码省略;//车轮类 ClassDriver//司机类 public stringname;//表示第几路公交车司机 DriverstringdriverNamemarne2;//构造函数 ; classEngine//引擎类 public stringengineNo;//引擎编号 EnginestringengineNo3->engineNo=engineNo; //构造函数 ; ClassCar//汽车类 protected: Engine*engine;Driver*driver;Bodybody; Wheel*wheels[MAX_WHEELS];Passenger*passengers[MAX_PASSENGERS]; public CarDriver*driver//构造函数 this->driver=driver; engine=newEngine"TX6536型号引擎"; forintindex=0;index<MAX_WHEELS;index++ wheels[index]=newWheel; forintindex=0;indexpassengers[index]=NULL; virtual-Car//析构函数 forintindex=0;index<MAX_WHEELS;index++ deletewheels[index]; delete4; intgetPassengerNumber//获取车上乘客数量 //此处代码省略 voidgetonpassengerPassenger*apassenger //乘客上车 //此处代码省略 voidrun//开车 ifdriver==NULLcout<<"司机尚未上车!";return; //此处代码省略 ; voidmain Driverdriver"第五路公交车司机"; Carcar5; Passengerpassengers[MAX_PASSENGERS]; forintindex=0;index<MAX_PASSENGERS;index++ //乘客上车处理 car.getOnPasSenger&passengers[index]; car.run; 3处填
[说明] 著名的菲波那契数列定义式为 f1=1f2=1fn=fn-1+fn-2n=34… 因此从第1项开始的该数列为1123581321…函数fib1和fib2分别用递归方式和迭代方式求解菲波那契数列的第n项调用fib1fib2时可确保参数n获得一个正整数1 [C函数代码] 将函数fib1和fib2改正后进行测试发现前46项都正确而第47项的值是一个负数请说明原因
[说明] 已知对某载客车辆Car进行类建模如图12-2所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客 constint1=7;//定义最多载客数 constintMAX_WHEELS=5;//定义最多轮胎数 classBody//此处代码省略;//车身类 classPassenger//此处代码省略;//乘客类 ClassWheel//此处代码省略;//车轮类 ClassDriver//司机类 public stringname;//表示第几路公交车司机 DriverstringdriverNamemarne2;//构造函数 ; classEngine//引擎类 public stringengineNo;//引擎编号 EnginestringengineNo3->engineNo=engineNo; //构造函数 ; ClassCar//汽车类 protected: Engine*engine;Driver*driver;Bodybody; Wheel*wheels[MAX_WHEELS];Passenger*passengers[MAX_PASSENGERS]; public CarDriver*driver//构造函数 this->driver=driver; engine=newEngine"TX6536型号引擎"; forintindex=0;index<MAX_WHEELS;index++ wheels[index]=newWheel; forintindex=0;indexpassengers[index]=NULL; virtual-Car//析构函数 forintindex=0;index<MAX_WHEELS;index++ deletewheels[index]; delete4; intgetPassengerNumber//获取车上乘客数量 //此处代码省略 voidgetonpassengerPassenger*apassenger //乘客上车 //此处代码省略 voidrun//开车 ifdriver==NULLcout<<"司机尚未上车!";return; //此处代码省略 ; voidmain Driverdriver"第五路公交车司机"; Carcar5; Passengerpassengers[MAX_PASSENGERS]; forintindex=0;index<MAX_PASSENGERS;index++ //乘客上车处理 car.getOnPasSenger&passengers[index]; car.run; 1处填
请补齐上述代码中的空缺1和2
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术