首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
[说明] 下面程序输出一个矩形面积,以及矩形区域上的假想的作物产量。 [Java程序] public class Mainjava public static void main(Strin...
查看本题答案
包含此试题的试卷
初级程序员《填空集》真题及答案
点击查看
你可能感兴趣的试题
阅读理解给定一个矩形如果存在另一个矩形它的周长和面积分别是已知矩形的周长和面积的一半则这个矩形是给定
阅读理解给定一个矩形如果存在另一个矩形它的周长和面积分别是已知矩形的周长和面积的一半则这个矩形是给定
如图某小区拟在空地上建一个占地面积为2400m2的矩形休闲广场按照设计要求休闲广场中间有两个完全相同
附加题1对于任意给定的一个矩形C是否存在另一个矩形使它的周长和面积都是矩形C的2倍请说明你的理由2当
如图依次连接第一个矩形各边的中点得到一个菱形再依次连接菱形各边的中点得到第二个矩形按照此方法继续下去
给定一个矩形如果存在另一个矩形它的周长和面积分别是已知矩形的周长和面积的一半那么这个矩形是给定矩形的
矩形纸片ABCD中AB=5AD=4.1如图1四边形MNEF是在矩形纸片ABCD中裁剪出的一个正方形.
阅读理解给定一个矩形如果存在另一个矩形它的周长和面积分别是已知矩形的周长和面积的一半则这个矩形是给定
农民张大伯为了致富奔小康大力发展家庭养殖业他准备用40米长的木栏围一个矩形的养圈为了节约材料同时要使
下面程序段的功能是
在窗体上绘制一个边框为红色、填充色为红色的矩形
在窗体上绘制一个边框为红色、填充色为窗体背景颜色的矩形
在窗体上绘制一个边框为蓝色、填充色为红色的矩形
在窗体上绘制一个边框为红色、填充色为蓝色的矩形
Photoshop中在使用矩形选择工具创建矩形选区时得到的是一个具有圆角的矩形选择区域其原因是下列各
拖动矩形选择工具的方法不正确
矩形选择工具具有一个较大的羽化值
使用的是圆角矩形选择工具而非矩形选择工具
所绘制的矩形选区过大
Photoshop中在使用矩形选框工具创建矩形选区时得到的是一个具 有圆角的矩形选择区域其原因是下列
拖动矩形选择工具的方法不正确
矩形选择工具具有一个较大的羽化值
使用的是圆角矩形选择工具而非矩形选择工具
所绘制的矩形选区过大
如图某小区拟在空地上建一个占地面积为2400平方米的矩形休闲广场按照设计要求休闲广场中间有两个完全相
是AutoCAD2004绘图空间的一个假想的矩形绘图区域相当于选择图纸大小
图形区域
绘图空间
图形界限
图形面积
一个矩形周长为56厘米1当矩形面积为180平方厘米时长宽分别为多少2能围成面积为200平方厘米的矩形
已知一个矩形长2米宽1米是否存在另一个矩形它的周长和面积是已知矩形周长和面积的两倍若存在分别写出矩
如图依次连结第一个矩形各边的中点得到一个菱形再依次连结菱形各边的中点得到第二个矩形按照此方法继续下去
平均空气动力弦指.
机翼沿展向各个翼型剖面的翼弦的几何平均值
与真实机翼面积相同的矩形机翼的翼弦
假想的矩形机翼的翼弦,其面积、升力以及俯仰力矩特性都与原机翼相同
与真实机翼翼展相同的矩形机翼的翼弦
矩形纸片ABCD中AB=5AD=4.Ⅰ如图①四边形MNEF是在矩形纸片ABCD中裁剪出的一个正方形.
如图依次连接第一个矩形各边的中点得到一个菱形再依次连接菱形各边的中点得到第二个矩形按照此方法继续下去
热门试题
更多
[说明]下面程序实现十进制向其他进制的转换[C++程序]#includeiostream.h#includemath.h#include<conio.h>typedefstructnodeintdata;node*next;Node;classTransformpublic:voidTransintdinti;//d为数字;i为进制voidprint;private:Node*top;voidTransform::Transintdintiintmn=0;Node*p;whiled>01;d=d/i;p=newNode;if!np->data=m;2;3;n++;elsep->data=m;4;5;voidTransform::printNode*p;whiletop!=NULLp=top;ifp->data>9cout<<data+55;elsecout<<data;top=p->next;deletep;
[说明]函数permintnchar*s用已知字符串s中的字符生成由其中n个字符组成的所有字符排列设n小于字符串s的字符个数其中s中的字符在每个排列中最多出现一次例如对于s[]=abcn=2则所有字符排列有bacaabcbacbc[函数]#defineN20charw[N];permintnchar*schars1[N];inti;if1printf%s/nw;elsestrcpys1s;fori=0;2;i++3;4;*s1=*w+n-1;5;
[说明]函数permintnchar*s用已知字符串s中的字符生成由其中n个字符组成的所有字符排列设n小于字符串s的字符个数其中s中的字符在每个排列中最多出现一次例如对于s[]=abcn=2则所有字符排列有bacaabcbacbc[函数]#defineN20charw[N];permintnchar*schars1[N];inti;if1printf%s/nw;elsestrcpys1s;fori=0;2;i++3;4;*s1=*w+n-1;5;
[说明]设计一个日期类Date包括年月日等私有数据成员要求实现日期的基本运算如某日期加上天数某日期减去天数两日期相差的天数等在Date类中设计如下重载运算符函数Dateoperator+intdays:返回某日期加上天数得到的日期Dateoperator-intdays:返回某日期减去天数得到的日期intoperator-Date&b:返回两日期相差的天数[C++程序]#include<iostream.h>intday_tab[2][12]=312831303130313130313031312931303130313130313031;//day_tab二维数组存放各月天数第一行对应非闰年第二行对应闰年classDateintyearmonthday;//年月日intleapint;//判断是否为闰年intdtonDate&;Datentodint;PublicDateDateintyintmintdyear=y;month=m;day=d;voidsetdayintdday=d;voidsetmonthintmmonth=m;voidsetyearintyyear=y;intgetdayreturnday;intgetmonthreturnmonth;intgetyearreturnyear;Dateoperator+intdays//+运算符重载函数staticDatedate;intnumber=1;date=ntodnumber;returndate;Dateoperator-intdays//-运算符重载函数statisDatedate;intnumber=2;number-=days;date=ntodnumber;returndate;intoperator-Date&b//-运算符重载函数intdays=3;returndays;voiddispcout<<year<<.<<month<<<<day<<endl;;intDate::leapintyearif4//是闰年return1;//不是闰年elsereturn0;intDate::dtonDate&d//求从公元0年0月0日到d日期的天数intymdays=0;fory=1;y<=d.year;y++if5days+=366;//闰年时加366天elsedays+=365;//非闰年时加365天form=0;m<d.mont.h-1;m++ifleapd.yeardays+=day_tab[1][m];elsedays+=day__tab[0][m];days+=d.day;returndays;DateDate::ntodintn//将从公元0年0月0日的天数转换成日期inty=1m=1drest=n1p;while1ifleapyifrest<-366break;elserest-=366;else//非闰年ifrest=365break;elserest-=365;y++;y--;1p=leapy;while1if1p//闰年ifrest>day_tab[1][m-1]rest-=day_tab[1][m-1];elsebreak;else//非闰年ifrest>day_tab[0][m-1]rest-=day_tab[0][m-1];elsebreak;m++d=rest;returnDatey;md;voidmainDatenow2003101then200565;cout<<now:;now.disp;cout<<then:;then.disp;cout<<相差天数<<then-now<<endl;Dated1=now+1000d2=now-1000;cout<<now+1000:;d1.disp;cout<<now-1000:;d2.disp;
[说明]从文件in.dat中读取一篇英文文章存入到字符串数组xx中以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排最后把已处理的字符串应不含标点符号仍按行重新存入字符串数组xx中最后把结果xx输出到文件OUT6.DAT中原始数据文件存放的格式是每行的宽度均小于80个字符含标点符号和空格[函数]#include<string.h>#include<conio.h>#include<ctype.h>#include<stdio.h>charxx[50][80];intmaxline=0;/*文章的总行数*/intReadDatvoid;voidWriteDatvoid;voidStrOLvoidchar*p1*p2t[80];inti;fori=0;i<maxline;i++p1=xx[i];t[0]=0;while*p1p1++;whilep1>=xx[i]while!isalpha*p1&&p1!=xx[i]p1--;p2=p1;while1p1--;ifp1==xx[i]ifisalpha*p1p1--;elseif!isalpha*p1+1;break;p2++;2;strcattp1+1;strcatt;strcpyxx[i]t;voidmainif3printf数据文件in.dat不能打开!/n/007;return;StrOL;writeDat;getch;intReadDatvoidFILE*fp;inti=0;char*p;iffp=fopene://a///in.datr==NULLreturn1;whilefgetsxx[i]80fp!=NULLp=strchrxx[i]’/n’;ifp*p=0i++;maxline=4;fclosefp;return0;voidWriteDatvoidFILE*fp;inti;fp=fopene://a//out6.datw;fori=0;i<5;i++printf%s/nxx[i];fprintffp%s/nxx[i];fclosefp;
[说明] 本流程图采用“双向冒泡法”实现对数组a[n]的排序双向冒泡法就是在逐步缩小的数组内分别从数组的两端开始向内搜索同时将大数往上浮小数往下沉每次交换一组数flag是一个标志发生过交换就置为1当这个循环过程都不再发生交换时则数组排序完成 注流程中循环开始的说明按照“循环变量循环初值循环终值增量”格式描述; 定义SWAP[ab]为将a和b两数交换 [流程图] [问题] 将流程图的1~5处补充完整 5处填
[函数说明3.1]假设以带头结点的单循环链表作非递减有序线性表的存储结构函数deleteklistLinkListhead的功能是删除表中所有数值相同的多余元素并释放结点空间[函数3.1]VoiddeleteklistLinkListheadLinkNode*p*q;p=head->next;whilep!=headq=p->next;while12;freeq;q=p->next;p=p->next;[函数说明3.2]已知一棵完全二叉树存放于一个一维数组T[n]中T[n]中存放的是各结点的值下面的程序的功能是从T[0]开始顺序读出各结点的值建立该二叉树的二叉链表表示[函数3.2]#include<istream.h>typedefstructnodeintdata;stuctnodeleftChildrightchild;BintreeNode;typedefBintreeNode*BinaryTree;voidConstrucTreeintT[]intnintiBintreeNode*&ptrifi>=n3;/*置根指针为空*/elseptr=BTNode*mallocsizeofBTNodeptr->data=T[i];ConstrucTreeTn2*i+14;ConstrucTreeTn5ptr->rightchild;mainvoid/*根据顺序存储结构建立二叉链表*/Binarytreebitree;intn;printfpleaseenterthenumberofnode:/n%s;n;int*A=int*mallocn*sizeofint;forinti=0;i<n;i++scanf%dA+i;/*从键盘输入结点值*/forinti=0;i<n;i++printf%dA[i];ConstructTreeAn0bitree;
[说明]函数permintnchar*s用已知字符串s中的字符生成由其中n个字符组成的所有字符排列设n小于字符串s的字符个数其中s中的字符在每个排列中最多出现一次例如对于s[]=abcn=2则所有字符排列有bacaabcbacbc[函数]#defineN20charw[N];permintnchar*schars1[N];inti;if1printf%s/nw;elsestrcpys1s;fori=0;2;i++3;4;*s1=*w+n-1;5;
[函数说明3.1]假设以带头结点的单循环链表作非递减有序线性表的存储结构函数deleteklistLinkListhead的功能是删除表中所有数值相同的多余元素并释放结点空间[函数3.1]VoiddeleteklistLinkListheadLinkNode*p*q;p=head->next;whilep!=headq=p->next;while12;freeq;q=p->next;p=p->next;[函数说明3.2]已知一棵完全二叉树存放于一个一维数组T[n]中T[n]中存放的是各结点的值下面的程序的功能是从T[0]开始顺序读出各结点的值建立该二叉树的二叉链表表示[函数3.2]#include<istream.h>typedefstructnodeintdata;stuctnodeleftChildrightchild;BintreeNode;typedefBintreeNode*BinaryTree;voidConstrucTreeintT[]intnintiBintreeNode*&ptrifi>=n3;/*置根指针为空*/elseptr=BTNode*mallocsizeofBTNodeptr->data=T[i];ConstrucTreeTn2*i+14;ConstrucTreeTn5ptr->rightchild;mainvoid/*根据顺序存储结构建立二叉链表*/Binarytreebitree;intn;printfpleaseenterthenumberofnode:/n%s;n;int*A=int*mallocn*sizeofint;forinti=0;i<n;i++scanf%dA+i;/*从键盘输入结点值*/forinti=0;i<n;i++printf%dA[i];ConstructTreeAn0bitree;
[函数说明3.1] 假设两个队列共享一个循环向量空间参见右图其类型Queue2定义如下 typedefstruct DateTypedata[MaxSize]; intfront[2]rear[2]; Queue2; 对于i=0或1front[i]和rear[i]分别为第i个队列的头指针和尾指针函数EnQueueQueue2*QintiDateTypex的功能是实现第i个队列的入队操作 [函数3.1] intEnQueueQueue2*QintiDateTypex //若第i个队列不满则元素x入队列并返回1;否则返回0 ifi<0||i>1return0 ifQ->rear[i]==Q->front[1] return0 Q->data[2]=x; Q->rear[i]=[3]; return1 [函数说明3.2] 函数BTreeEqualBinTreeNode*T1BinTreeNode*T2的功能是用递归法判断两棵二叉树是否相等若相等则返回1否则返回0函数中参数T1和T2分别为指向这两棵二叉树根结点的指针当两棵树的结构完全相同并且对应结点的值也相同时才被认为相等 已知二叉树中的结点类型BinTreeNode定义为 structBinTreeNode chardata; BinTreeNode*left*right; ; 其中data为结点值域left和right分别为指向左右子女结点的指针域 [函数3.2] intBTreeEqualBinTreeNode*T1BinTreeNode*T2 ifT1==NULL&&T2==NULLreturn1;//若两棵树均为空则相等 elseif4return0;//若一棵为空一棵不为空则不等 elseif5return1;//若根结点值相等并且左右子树 //也相等则两棵树相等否则不等 elsereturn0 1处填
[说明] 本流程图采用“双向冒泡法”实现对数组a[n]的排序双向冒泡法就是在逐步缩小的数组内分别从数组的两端开始向内搜索同时将大数往上浮小数往下沉每次交换一组数flag是一个标志发生过交换就置为1当这个循环过程都不再发生交换时则数组排序完成 注流程中循环开始的说明按照“循环变量循环初值循环终值增量”格式描述; 定义SWAP[ab]为将a和b两数交换 [流程图] [问题] 将流程图的1~5处补充完整 3处填
[说明]函数ELEM*procFILE*fp从文件fp中逐个读入职工的工号及其完成的产品数量对相同工号的产品数量计入该职工完成的产品总数并且按照产品总数降序排列若多个职工完成的产品总数相同则按工号升序排列在函数中建立了一个有序链表来存储每个职工的工号和完成产品总数等数据其结点类型为typedefstructELEintno;/*职工工号*/intnum;/*完成的产品总数*/structELE*next;ELEM;[函数]ELEM*procFILE*fpintmn;ELEM*u*v*p*base;base=NULL;/*bese是链表的首指针*/whilefscanffp%d%d&n&m==2/*链表中是否存在工号为n的结点*/forv=base;v!=NULL&&v->no!=n;1;ifv!=NULL/*若链表中已有工号为n的结点v则将其从链表中脱钩*/if2base=v->next;elseu->next=v->next;v->num+=m;/*累加工号为n的职工完成的产品数量*/else/*创建一个工号为n的结点*/v=ELEM*mallocsizeofELEM;V->no=nV->num=m;/*寻找结点v的插入位置*/p=base;whilep!=NULLifv->num>p->num||v->num==p->num&&3break;elseu=p;p=p->next;/*将结点v插入链表*/ifp==base4;elseu->next=v;5;returnbase;
[函数说明3.1]假设以带头结点的单循环链表作非递减有序线性表的存储结构函数deleteklistLinkListhead的功能是删除表中所有数值相同的多余元素并释放结点空间[函数3.1]VoiddeleteklistLinkListheadLinkNode*p*q;p=head->next;whilep!=headq=p->next;while12;freeq;q=p->next;p=p->next;[函数说明3.2]已知一棵完全二叉树存放于一个一维数组T[n]中T[n]中存放的是各结点的值下面的程序的功能是从T[0]开始顺序读出各结点的值建立该二叉树的二叉链表表示[函数3.2]#include<istream.h>typedefstructnodeintdata;stuctnodeleftChildrightchild;BintreeNode;typedefBintreeNode*BinaryTree;voidConstrucTreeintT[]intnintiBintreeNode*&ptrifi>=n3;/*置根指针为空*/elseptr=BTNode*mallocsizeofBTNodeptr->data=T[i];ConstrucTreeTn2*i+14;ConstrucTreeTn5ptr->rightchild;mainvoid/*根据顺序存储结构建立二叉链表*/Binarytreebitree;intn;printfpleaseenterthenumberofnode:/n%s;n;int*A=int*mallocn*sizeofint;forinti=0;i<n;i++scanf%dA+i;/*从键盘输入结点值*/forinti=0;i<n;i++printf%dA[i];ConstructTreeAn0bitree;
[说明]下面程序实现十进制向其他进制的转换[C++程序]#includeiostream.h#includemath.h#include<conio.h>typedefstructnodeintdata;node*next;Node;classTransformpublic:voidTransintdinti;//d为数字;i为进制voidprint;private:Node*top;voidTransform::Transintdintiintmn=0;Node*p;whiled>01;d=d/i;p=newNode;if!np->data=m;2;3;n++;elsep->data=m;4;5;voidTransform::printNode*p;whiletop!=NULLp=top;ifp->data>9cout<<data+55;elsecout<<data;top=p->next;deletep;
[说明]下面程序是为汽车市场编制的一个程序的一部分其中automobile是基类[Java程序]classMainJavapublicstaticvoidmainStringagr[]carsedan=newcar;sedan.initialize2420.04;System.out.printlnThesedancantravel+1+miles./n;System.out.printlnThesedanhas+2+doors./n;classautomobileprotectedintmiles_per_gallon;//汽车每加仑行驶公里数3doublefuel_capacity;//油箱容积publicvoidinitializeintin_mpgintin_fuelmiles_per_gallon=in_mpg;fuel_capacity=in_fuel;publicintget_mpg//提供一辆特定汽车每加仑公里数returnmiles_per_gallon;publicdoubleget_fuel//提供油箱容积returnfuel_capacity;publicdoubletravel_distance//计算满油箱情况下的可行驶总公里数return4;classcar5privateintTotal_doors;publicvoidinitializeintin_mpgdoublein_fuelintdoorsTotal_doors=doors;miles_per_gallon=in_mpg;fuel_capacity=in_fuel;publicintdoorsreturnTotal_doors;
[说明]下面程序是为汽车市场编制的一个程序的一部分其中automobile是基类[Java程序]classMainJavapublicstaticvoidmainStringagr[]carsedan=newcar;sedan.initialize2420.04;System.out.printlnThesedancantravel+1+miles./n;System.out.printlnThesedanhas+2+doors./n;classautomobileprotectedintmiles_per_gallon;//汽车每加仑行驶公里数3doublefuel_capacity;//油箱容积publicvoidinitializeintin_mpgintin_fuelmiles_per_gallon=in_mpg;fuel_capacity=in_fuel;publicintget_mpg//提供一辆特定汽车每加仑公里数returnmiles_per_gallon;publicdoubleget_fuel//提供油箱容积returnfuel_capacity;publicdoubletravel_distance//计算满油箱情况下的可行驶总公里数return4;classcar5privateintTotal_doors;publicvoidinitializeintin_mpgdoublein_fuelintdoorsTotal_doors=doors;miles_per_gallon=in_mpg;fuel_capacity=in_fuel;publicintdoorsreturnTotal_doors;
[说明]下面程序实现十进制向其他进制的转换[C++程序]#includeiostream.h#includemath.h#include<conio.h>typedefstructnodeintdata;node*next;Node;classTransformpublic:voidTransintdinti;//d为数字;i为进制voidprint;private:Node*top;voidTransform::Transintdintiintmn=0;Node*p;whiled>01;d=d/i;p=newNode;if!np->data=m;2;3;n++;elsep->data=m;4;5;voidTransform::printNode*p;whiletop!=NULLp=top;ifp->data>9cout<<data+55;elsecout<<data;top=p->next;deletep;
[说明]函数ELEM*procFILE*fp从文件fp中逐个读入职工的工号及其完成的产品数量对相同工号的产品数量计入该职工完成的产品总数并且按照产品总数降序排列若多个职工完成的产品总数相同则按工号升序排列在函数中建立了一个有序链表来存储每个职工的工号和完成产品总数等数据其结点类型为typedefstructELEintno;/*职工工号*/intnum;/*完成的产品总数*/structELE*next;ELEM;[函数]ELEM*procFILE*fpintmn;ELEM*u*v*p*base;base=NULL;/*bese是链表的首指针*/whilefscanffp%d%d&n&m==2/*链表中是否存在工号为n的结点*/forv=base;v!=NULL&&v->no!=n;1;ifv!=NULL/*若链表中已有工号为n的结点v则将其从链表中脱钩*/if2base=v->next;elseu->next=v->next;v->num+=m;/*累加工号为n的职工完成的产品数量*/else/*创建一个工号为n的结点*/v=ELEM*mallocsizeofELEM;V->no=nV->num=m;/*寻找结点v的插入位置*/p=base;whilep!=NULLifv->num>p->num||v->num==p->num&&3break;elseu=p;p=p->next;/*将结点v插入链表*/ifp==base4;elseu->next=v;5;returnbase;
[说明]函数moveint*aintn用于整理数组a[]的前n个元素使其中小于零的元素移到数组的前端大于零的元素移到数组的后端等于零的元素留在数组中间令a[0]~a[low-1]小于零初始为空;a[low]~a[i-1]等于零初始为空;a[i]~a[high]还未考察当前考察元素为a[i]a[high+1]~a[n-1]大于零初始为空[函数]moveint*aintnintilowhight;low=i=0;high=n-1;while1ifa[i]<0t=a[i];a[i]=a[low];a[low]=t;2;i++;elseif3t=a[i];a[i]=a[high];a[high]=t;4;else5;
[说明]一个数如果恰好等于它的因子之和这个数就是完数如6=1+2+3下面流程图完成寻找1000以内的完数并将其因子存放在k[n]中最后打印结果注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明]一个数如果恰好等于它的因子之和这个数就是完数如6=1+2+3下面流程图完成寻找1000以内的完数并将其因子存放在k[n]中最后打印结果注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明]从文件in.dat中读取一篇英文文章存入到字符串数组xx中以行为单位对行中以空格或标点符号为分隔的所有单词进行倒排最后把已处理的字符串应不含标点符号仍按行重新存入字符串数组xx中最后把结果xx输出到文件OUT6.DAT中原始数据文件存放的格式是每行的宽度均小于80个字符含标点符号和空格[函数]#include<string.h>#include<conio.h>#include<ctype.h>#include<stdio.h>charxx[50][80];intmaxline=0;/*文章的总行数*/intReadDatvoid;voidWriteDatvoid;voidStrOLvoidchar*p1*p2t[80];inti;fori=0;i<maxline;i++p1=xx[i];t[0]=0;while*p1p1++;whilep1>=xx[i]while!isalpha*p1&&p1!=xx[i]p1--;p2=p1;while1p1--;ifp1==xx[i]ifisalpha*p1p1--;elseif!isalpha*p1+1;break;p2++;2;strcattp1+1;strcatt;strcpyxx[i]t;voidmainif3printf数据文件in.dat不能打开!/n/007;return;StrOL;writeDat;getch;intReadDatvoidFILE*fp;inti=0;char*p;iffp=fopene://a///in.datr==NULLreturn1;whilefgetsxx[i]80fp!=NULLp=strchrxx[i]’/n’;ifp*p=0i++;maxline=4;fclosefp;return0;voidWriteDatvoidFILE*fp;inti;fp=fopene://a//out6.datw;fori=0;i<5;i++printf%s/nxx[i];fprintffp%s/nxx[i];fclosefp;
[函数2.1说明]函数intstrcmpchar*schar*t的功能是比较两个字符串s和t的大小若s<t函数返回负数;若s=t函数返回0;若s>t函数返回整数[函数2.1]intstrcmpchar*schar*twhile*s&&*t&&1s++;t++;return2;[函数2.2说明]在n行n列的矩阵中每行都有最大的数求这n个最大数中最小的一个[函数2.2]#include<stdio.h>#defineN100inta[N][N];voidmainintrowcolmaxminn;scanf%d&n;forrow=0;row<n;row++forcol=0;col<n;col++scanf%d&a[row][col];forrow=0;row<n;row++formax=a[row][0]col=1;col<ri;col++if3max=a[row][col];if4min=max;elseif5min=max;printfThemainofmaxnumberis%d/nmin;
[说明]函数moveint*aintn用于整理数组a[]的前n个元素使其中小于零的元素移到数组的前端大于零的元素移到数组的后端等于零的元素留在数组中间令a[0]~a[low-1]小于零初始为空;a[low]~a[i-1]等于零初始为空;a[i]~a[high]还未考察当前考察元素为a[i]a[high+1]~a[n-1]大于零初始为空[函数]moveint*aintnintilowhight;low=i=0;high=n-1;while1ifa[i]<0t=a[i];a[i]=a[low];a[low]=t;2;i++;elseif3t=a[i];a[i]=a[high];a[high]=t;4;else5;
[说明]设计一个日期类Date包括年月日等私有数据成员要求实现日期的基本运算如某日期加上天数某日期减去天数两日期相差的天数等在Date类中设计如下重载运算符函数Dateoperator+intdays:返回某日期加上天数得到的日期Dateoperator-intdays:返回某日期减去天数得到的日期intoperator-Date&b:返回两日期相差的天数[C++程序]#include<iostream.h>intday_tab[2][12]=312831303130313130313031312931303130313130313031;//day_tab二维数组存放各月天数第一行对应非闰年第二行对应闰年classDateintyearmonthday;//年月日intleapint;//判断是否为闰年intdtonDate&;Datentodint;PublicDateDateintyintmintdyear=y;month=m;day=d;voidsetdayintdday=d;voidsetmonthintmmonth=m;voidsetyearintyyear=y;intgetdayreturnday;intgetmonthreturnmonth;intgetyearreturnyear;Dateoperator+intdays//+运算符重载函数staticDatedate;intnumber=1;date=ntodnumber;returndate;Dateoperator-intdays//-运算符重载函数statisDatedate;intnumber=2;number-=days;date=ntodnumber;returndate;intoperator-Date&b//-运算符重载函数intdays=3;returndays;voiddispcout<<year<<.<<month<<<<day<<endl;;intDate::leapintyearif4//是闰年return1;//不是闰年elsereturn0;intDate::dtonDate&d//求从公元0年0月0日到d日期的天数intymdays=0;fory=1;y<=d.year;y++if5days+=366;//闰年时加366天elsedays+=365;//非闰年时加365天form=0;m<d.mont.h-1;m++ifleapd.yeardays+=day_tab[1][m];elsedays+=day__tab[0][m];days+=d.day;returndays;DateDate::ntodintn//将从公元0年0月0日的天数转换成日期inty=1m=1drest=n1p;while1ifleapyifrest<-366break;elserest-=366;else//非闰年ifrest=365break;elserest-=365;y++;y--;1p=leapy;while1if1p//闰年ifrest>day_tab[1][m-1]rest-=day_tab[1][m-1];elsebreak;else//非闰年ifrest>day_tab[0][m-1]rest-=day_tab[0][m-1];elsebreak;m++d=rest;returnDatey;md;voidmainDatenow2003101then200565;cout<<now:;now.disp;cout<<then:;then.disp;cout<<相差天数<<then-now<<endl;Dated1=now+1000d2=now-1000;cout<<now+1000:;d1.disp;cout<<now-1000:;d2.disp;
[函数说明3.1] 假设两个队列共享一个循环向量空间参见右图其类型Queue2定义如下 typedefstruct DateTypedata[MaxSize]; intfront[2]rear[2]; Queue2; 对于i=0或1front[i]和rear[i]分别为第i个队列的头指针和尾指针函数EnQueueQueue2*QintiDateTypex的功能是实现第i个队列的入队操作 [函数3.1] intEnQueueQueue2*QintiDateTypex //若第i个队列不满则元素x入队列并返回1;否则返回0 ifi<0||i>1return0 ifQ->rear[i]==Q->front[1] return0 Q->data[2]=x; Q->rear[i]=[3]; return1 [函数说明3.2] 函数BTreeEqualBinTreeNode*T1BinTreeNode*T2的功能是用递归法判断两棵二叉树是否相等若相等则返回1否则返回0函数中参数T1和T2分别为指向这两棵二叉树根结点的指针当两棵树的结构完全相同并且对应结点的值也相同时才被认为相等 已知二叉树中的结点类型BinTreeNode定义为 structBinTreeNode chardata; BinTreeNode*left*right; ; 其中data为结点值域left和right分别为指向左右子女结点的指针域 [函数3.2] intBTreeEqualBinTreeNode*T1BinTreeNode*T2 ifT1==NULL&&T2==NULLreturn1;//若两棵树均为空则相等 elseif4return0;//若一棵为空一棵不为空则不等 elseif5return1;//若根结点值相等并且左右子树 //也相等则两棵树相等否则不等 elsereturn0 3处填
[函数2.1说明]函数intstrcmpchar*schar*t的功能是比较两个字符串s和t的大小若s<t函数返回负数;若s=t函数返回0;若s>t函数返回整数[函数2.1]intstrcmpchar*schar*twhile*s&&*t&&1s++;t++;return2;[函数2.2说明]在n行n列的矩阵中每行都有最大的数求这n个最大数中最小的一个[函数2.2]#include<stdio.h>#defineN100inta[N][N];voidmainintrowcolmaxminn;scanf%d&n;forrow=0;row<n;row++forcol=0;col<n;col++scanf%d&a[row][col];forrow=0;row<n;row++formax=a[row][0]col=1;col<ri;col++if3max=a[row][col];if4min=max;elseif5min=max;printfThemainofmaxnumberis%d/nmin;
[说明]设计一个日期类Date包括年月日等私有数据成员要求实现日期的基本运算如某日期加上天数某日期减去天数两日期相差的天数等在Date类中设计如下重载运算符函数Dateoperator+intdays:返回某日期加上天数得到的日期Dateoperator-intdays:返回某日期减去天数得到的日期intoperator-Date&b:返回两日期相差的天数[C++程序]#include<iostream.h>intday_tab[2][12]=312831303130313130313031312931303130313130313031;//day_tab二维数组存放各月天数第一行对应非闰年第二行对应闰年classDateintyearmonthday;//年月日intleapint;//判断是否为闰年intdtonDate&;Datentodint;PublicDateDateintyintmintdyear=y;month=m;day=d;voidsetdayintdday=d;voidsetmonthintmmonth=m;voidsetyearintyyear=y;intgetdayreturnday;intgetmonthreturnmonth;intgetyearreturnyear;Dateoperator+intdays//+运算符重载函数staticDatedate;intnumber=1;date=ntodnumber;returndate;Dateoperator-intdays//-运算符重载函数statisDatedate;intnumber=2;number-=days;date=ntodnumber;returndate;intoperator-Date&b//-运算符重载函数intdays=3;returndays;voiddispcout<<year<<.<<month<<<<day<<endl;;intDate::leapintyearif4//是闰年return1;//不是闰年elsereturn0;intDate::dtonDate&d//求从公元0年0月0日到d日期的天数intymdays=0;fory=1;y<=d.year;y++if5days+=366;//闰年时加366天elsedays+=365;//非闰年时加365天form=0;m<d.mont.h-1;m++ifleapd.yeardays+=day_tab[1][m];elsedays+=day__tab[0][m];days+=d.day;returndays;DateDate::ntodintn//将从公元0年0月0日的天数转换成日期inty=1m=1drest=n1p;while1ifleapyifrest<-366break;elserest-=366;else//非闰年ifrest=365break;elserest-=365;y++;y--;1p=leapy;while1if1p//闰年ifrest>day_tab[1][m-1]rest-=day_tab[1][m-1];elsebreak;else//非闰年ifrest>day_tab[0][m-1]rest-=day_tab[0][m-1];elsebreak;m++d=rest;returnDatey;md;voidmainDatenow2003101then200565;cout<<now:;now.disp;cout<<then:;then.disp;cout<<相差天数<<then-now<<endl;Dated1=now+1000d2=now-1000;cout<<now+1000:;d1.disp;cout<<now-1000:;d2.disp;
[说明]一个数如果恰好等于它的因子之和这个数就是完数如6=1+2+3下面流程图完成寻找1000以内的完数并将其因子存放在k[n]中最后打印结果注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明] 本流程图采用“双向冒泡法”实现对数组a[n]的排序双向冒泡法就是在逐步缩小的数组内分别从数组的两端开始向内搜索同时将大数往上浮小数往下沉每次交换一组数flag是一个标志发生过交换就置为1当这个循环过程都不再发生交换时则数组排序完成 注流程中循环开始的说明按照“循环变量循环初值循环终值增量”格式描述; 定义SWAP[ab]为将a和b两数交换 [流程图] [问题] 将流程图的1~5处补充完整 1处填
热门题库
更多
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术