首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
[说明] 下面程序计算正方体、球体和圆柱体的表面积和体积。 [C++程序] #include<iostream.h> class container protected: doubl...
查看本题答案
包含此试题的试卷
初级程序员《填空集》真题及答案
点击查看
你可能感兴趣的试题
一个正方体的棱长是6厘米将它平均分成三个完全一样的长方体后表面积增加了若将原来的正方体削成一个最大的
图中的正方体圆柱体和圆锥体的底面积相等高也相等下面说法正确的是
圆锥的体积是圆柱体积的3倍
圆柱的体积比正方体的体积小一些
圆锥的体积是正方体体积的
以上说法都不对
已知底面半径为r高为h的圆柱和一正方体的体积相等试设计一个程序分别求圆柱的表面积和正方体的表面积并画
一个正方体和一个圆柱体的体积相等高也相等正方体的棱长4厘米圆柱体的底面积是平方厘米.
4
12.56
16
把一个高为3米的圆柱体的底面分成许多相等的扇形然后把圆柱体切开拼成一个与它等底等高的近似长方体的表
【说明】以下程序的功能是计算正方体球体和圆柱体的表面积和体积并输出程序由4个类组成类cubesphe
如图中的正方体圆柱和圆锥底面积相等高也相等.下面是正确的.
圆柱的体积比正方体的体积小一些
圆锥的体积和正方体体积相等
圆柱体积与正方体体积相等
把一个高3分米的圆柱体的底面分成许多相等的扇形然后把圆柱体切开拼成一个与它等底等高的近似长方体它的
一个正方体和一个圆柱体的体积相等高也相等正方体的棱长是4cm圆柱体的底面积是cm2.
4
12.56
16
64
把一个圆柱体切拼成一个近似的长方体后下面说法正确的是
表面积不变,体积不变
表面积变大,体积不变
表面积变大,体积变大
表面积不变,体积变大
把两个等底等高的圆柱体接成一个新的圆柱体接成后的圆柱体与原来的两个圆柱体相比
体积相等
表面积相等
现在比原来体积小
图中的正方体圆柱和圆锥底面积相等高也相等.下面是正确的.
圆柱的体积比正方体的体积小一些
圆锥的体积和正方体体积相等
圆柱体积与正方体体积相等
无法比较
把一个棱长2分米的正方体削成一个最大的圆柱体这个圆柱体的表面积和体积各是多少
1表面积相等的正方体和球中体积较大的几何体是____________2体积相等的正方体和球中表面积较
今有若干个底面半径和高均为1的圆柱体和若干个底面半径和高均为2的圆柱体它们的体积和为50π表面积和
【说明】 以下程序的功能是计算正方体球体和圆柱体的表面积和体积并输出 程序由4个类组成类cube
一个棱长为10分米的正方体削成一个最大的圆柱体圆柱体的表面积是多少体积是多少
把一个正方体削成一个最大的圆柱体圆柱体的侧面积是1256cm2求正方体的表面积.
如图中的正方体圆柱和圆锥底面积相等高也相等.下面哪句话是正确的
圆锥的体积是正方体的
圆柱的体积比正方体的体积小一些
圆柱体积与圆锥体积相等
正方体的体积比圆柱的小一些
下面的圆柱体长方体和圆锥体的底面积相等高也相等.下面说法正确的是
圆锥的体积是圆柱体积的3倍
圆柱体积比正方体的体积小一些
圆锥体积是正方体体积的
以上说法都不对
热门试题
更多
[说明]从文件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;
[说明]函数voidconvertchar*aintn是用递归方法将一个正整数n按逆序存放到一个字符数组a中例如n=123在a中的存放为’3’’2’’1’[函数2.1]voidconvertchar*aintninti;ifi=n/10!=0convert1i;*a=2;[函数2.2说明]函数intindexchar*schar*t检查字符串s中是否包含字符串t若包含则返回t在s中的开始位置下标值否则返回-1[函数2.2]intindexchar*schar*tintij=0;k=0;fori=0;s[i]!=’/0’;i++for3;t[k]!=’/0’&&s[j]!=’/0’&&4;j++k++;if5returni;return-1;
[函数说明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;
[说明]设计一个类模板Sample用于对一个有序数组采用二分法查找元素下标[c++程序]#include<iostream.h>#defineMax100//最多元素个数template<classT>classSampleTA[Max];//存放有序数序intn;//实际元素个数PublicSample//默认构造函数SampleTa[]inti;//初始化构造函数intseekTc;voiddispforinti=0;i<n;i++cout<<A[i]<<;cout<<endl;;template<classT>Sample<T>::SampleTa[]intin=I;forintj=0;j<I;j++1;template<classT>intSample<T>::seekTcintlow=0high=n-1mid;while2mid=low+high/2;if3returnmid;elseif4low=mid+1;else5;return-1;voidmainchara[]=acegkmpwxz;Sample<char>sa1.;cout<<元素序列;s.disp;cout<<元素’g’的下标<<s.seek’g’<<endl;
[说明]将一正整数序列K1K2...K9重新排列成一个新的序列新序列中比K1小的数都在K1的前面左面比K1大的数都在K1的后面右面在程序中已给出了10个序列每个序列有9个正整数并存入数组a[10][9]中分别求出这10个新序列[函数]#include<stdio.h>#include<conio.h>voidjsValueinta[10][9]intijk.ntemp;intb[9];fori=0;i<10;i++temp=a[1][0];forj=8;j>=0;j--iftemp<a[il[j]1=a[i][j];iftemp==a[i][j]2=a[i][j];;iftemp==a[i][j]3=temp;forj=0;j<9;j++a[j][j]=b[j]voidmaininta[10][9]=689125473358912647821935467351298674478912536473512689913586247261983574537918264713258946;intij;4;fori=0;i<10;i++forj=0;j<9;j++printf%da[i][j];if5printf;printf/n;getch;
[说明]下面Application程序根据ManKind类中的sex属性输出Man!或Woman!程序全部写在Main.jav__件中程序中存在两个错误分别在第01和14行请将其改正或删除相应语句并指出程序运行的输出结果[Java程序]01publicclassManKind02intsex;//默认是公有成员03publicvoidmanOrWoman//公有方法04ifsex==0//表示男人05System.out.printMan!;06else//女人07System.out.printWoman!;08091011publicclassMain12publicstaticvoidmainString[]args13ManKindsomePersonsomePerson2;14SomePerson.sex=1;15somePerson=newManKind;16SomePerson.sex=1;17somePerson.manOrWoman;18SomePerson2=somePerson;19SomePerson2.sex=020somePerson2.manOrWoman;21somePerson.manOrWoman;2223
[说明]将一正整数序列K1K2...K9重新排列成一个新的序列新序列中比K1小的数都在K1的前面左面比K1大的数都在K1的后面右面在程序中已给出了10个序列每个序列有9个正整数并存入数组a[10][9]中分别求出这10个新序列[函数]#include<stdio.h>#include<conio.h>voidjsValueinta[10][9]intijk.ntemp;intb[9];fori=0;i<10;i++temp=a[1][0];forj=8;j>=0;j--iftemp<a[il[j]1=a[i][j];iftemp==a[i][j]2=a[i][j];;iftemp==a[i][j]3=temp;forj=0;j<9;j++a[j][j]=b[j]voidmaininta[10][9]=689125473358912647821935467351298674478912536473512689913586247261983574537918264713258946;intij;4;fori=0;i<10;i++forj=0;j<9;j++printf%da[i][j];if5printf;printf/n;getch;
[说明]从文件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说明]假设两个队列共享一个循环向量空间其类型Queue2定义如下typedefstructDateTypedata[MaxSize];intfront[2]rear[2];Queue2;对于i=0或1front[i]和rear[i]分别为第i个队列的头指针和尾指针函数EnQueueQueue2*QintiDateTypex的功能是实现第i个队列的入队操作[函数2.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;[函数2.2说明]函数intBtreeEquaIBinTreeNode*T1BinTreeNode*T2的功能是递归判断两棵二叉数是否相等若相等则返回1否则返回0当两棵树的结构完全相同并且对应结点的值也相同时才被认为相等已知二叉树中的结点类型定义为structBinTreeNodechardata;BinTreeNode*left*right;;其中data为结点值域left和right分别为指向左右子女结点的指针域[函数2.2]intBtreeEqualBinTreeNode*T1BinTreeNode*T2ifT1==NULL&&T2==NULLreturn1;elseif4return0;elseif5return1;elsereturn1;
[函数说明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;
[说明]设计一个日期类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;
[说明]这个是一个链接存储线性表的直接插入排序函数把未排序序列中的第一个结点插到已排序序列中排序完毕链表中的结点按结点值由小到大链接[函数]typedefstructnodechardata;structnode*link;NODE;NODE*insert_sortNODE*hNODE*t*s*u*v;s=h->link;h->link=NULLwhiles!=NULLfort=sv=h;v!=NULL&&V->data<t->data;12;s=s->link;ifV==h3;else4;5;returnh;
[说明]设计一个日期类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;
[函数2.1说明]假设两个队列共享一个循环向量空间其类型Queue2定义如下typedefstructDateTypedata[MaxSize];intfront[2]rear[2];Queue2;对于i=0或1front[i]和rear[i]分别为第i个队列的头指针和尾指针函数EnQueueQueue2*QintiDateTypex的功能是实现第i个队列的入队操作[函数2.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;[函数2.2说明]函数intBtreeEquaIBinTreeNode*T1BinTreeNode*T2的功能是递归判断两棵二叉数是否相等若相等则返回1否则返回0当两棵树的结构完全相同并且对应结点的值也相同时才被认为相等已知二叉树中的结点类型定义为structBinTreeNodechardata;BinTreeNode*left*right;;其中data为结点值域left和right分别为指向左右子女结点的指针域[函数2.2]intBtreeEqualBinTreeNode*T1BinTreeNode*T2ifT1==NULL&&T2==NULLreturn1;elseif4return0;elseif5return1;elsereturn1;
[流程图说明]下列流程图用泰勒Taylor展开式sinx=x-x3/3!+x5/5!-x7/7!++-1n*x2n+1/2n+1!+计算并打印sinx的近似值其中用ε>0表示误差要求[流程图]
[说明]一个数如果恰好等于它的因子之和这个数就是完数如6=1+2+3下面流程图完成寻找1000以内的完数并将其因子存放在k[n]中最后打印结果注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明]函数voidconvertchar*aintn是用递归方法将一个正整数n按逆序存放到一个字符数组a中例如n=123在a中的存放为’3’’2’’1’[函数2.1]voidconvertchar*aintninti;ifi=n/10!=0convert1i;*a=2;[函数2.2说明]函数intindexchar*schar*t检查字符串s中是否包含字符串t若包含则返回t在s中的开始位置下标值否则返回-1[函数2.2]intindexchar*schar*tintij=0;k=0;fori=0;s[i]!=’/0’;i++for3;t[k]!=’/0’&&s[j]!=’/0’&&4;j++k++;if5returni;return-1;
[说明]函数voidconvertchar*aintn是用递归方法将一个正整数n按逆序存放到一个字符数组a中例如n=123在a中的存放为’3’’2’’1’[函数2.1]voidconvertchar*aintninti;ifi=n/10!=0convert1i;*a=2;[函数2.2说明]函数intindexchar*schar*t检查字符串s中是否包含字符串t若包含则返回t在s中的开始位置下标值否则返回-1[函数2.2]intindexchar*schar*tintij=0;k=0;fori=0;s[i]!=’/0’;i++for3;t[k]!=’/0’&&s[j]!=’/0’&&4;j++k++;if5returni;return-1;
[函数2.1说明]假设两个队列共享一个循环向量空间其类型Queue2定义如下typedefstructDateTypedata[MaxSize];intfront[2]rear[2];Queue2;对于i=0或1front[i]和rear[i]分别为第i个队列的头指针和尾指针函数EnQueueQueue2*QintiDateTypex的功能是实现第i个队列的入队操作[函数2.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;[函数2.2说明]函数intBtreeEquaIBinTreeNode*T1BinTreeNode*T2的功能是递归判断两棵二叉数是否相等若相等则返回1否则返回0当两棵树的结构完全相同并且对应结点的值也相同时才被认为相等已知二叉树中的结点类型定义为structBinTreeNodechardata;BinTreeNode*left*right;;其中data为结点值域left和right分别为指向左右子女结点的指针域[函数2.2]intBtreeEqualBinTreeNode*T1BinTreeNode*T2ifT1==NULL&&T2==NULLreturn1;elseif4return0;elseif5return1;elsereturn1;
[说明]下面程序是为汽车市场编制的一个程序的一部分其中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;
[说明]某绘图系统中有两个画矩形的程序DP1和DP2程序DP1用函数draw_a_linex1y1x2y2画一条直线程序DP2则用函数drawlinex1x2y1y2画一条直线当实例化矩形时确定使用DP1还是DP2为了适应变化包括不同类型的形状和不同类型的画图程序将抽象部分与实现部分分离使它们可以独立地变化若将抽象部分对应形状实现部分对应画图与一般的接口抽象方法和具体实现不同则将这种应用称为Bridge桥接模式图8-10显示了该系统与矩形绘制相关的各个类之间的关系系统始终只处理3个对象Shape对象Drawing对象以及DP1或DP2对象以下是Java语言实现能够正确编译通过[Java代码]//DP1.jav__件publicclassDP1staticpublicvoiddrawalinedoublex1doubley1doublex2doubley2...//省略具体实现//DP2.jav__件publicclassDP2staticpublicvoiddrawlinedoublex1doubley1doublex2doubley2...//省略具体实现//Drawing.jav__件abstractpublicclassDrawing1publicvoiddrawLinedoublex1doubley1doublex2doubley2;//V1Drawing.jav__件publicclassV1DrawingextendsDrawingpublicvoiddrawLinedoublex1doubley1doublex2doubley2DP1.drawalinex1y1x2y2;//V2Drawing.jav__件publicclassV2DrawingextendsDrawingpublicvoiddrawLinedoublex1doubley1doublex2doubley2//画一条直线2;//Shape.jav__件abstractpublicclassShapeabstractpublicvoiddraw;private3dp;ShapeDrawingdp_dp=dp;protectedvoiddrawLinedoublex1doubley1doublex2doubley24;//Rectangle.jav__件publicclassRectangle5privatedouble_x1_x2_y1_y2;publicRectangleDrawingdpdoublex1doubley1doublex2doubley26;_x1=x2;_x2=x2;_y1=y1;_y2=y2;publicvoiddraw//省略具体实现
[说明]设计一个类模板Sample用于对一个有序数组采用二分法查找元素下标[c++程序]#include<iostream.h>#defineMax100//最多元素个数template<classT>classSampleTA[Max];//存放有序数序intn;//实际元素个数PublicSample//默认构造函数SampleTa[]inti;//初始化构造函数intseekTc;voiddispforinti=0;i<n;i++cout<<A[i]<<;cout<<endl;;template<classT>Sample<T>::SampleTa[]intin=I;forintj=0;j<I;j++1;template<classT>intSample<T>::seekTcintlow=0high=n-1mid;while2mid=low+high/2;if3returnmid;elseif4low=mid+1;else5;return-1;voidmainchara[]=acegkmpwxz;Sample<char>sa1.;cout<<元素序列;s.disp;cout<<元素’g’的下标<<s.seek’g’<<endl;
[说明]这个是一个链接存储线性表的直接插入排序函数把未排序序列中的第一个结点插到已排序序列中排序完毕链表中的结点按结点值由小到大链接[函数]typedefstructnodechardata;structnode*link;NODE;NODE*insert_sortNODE*hNODE*t*s*u*v;s=h->link;h->link=NULLwhiles!=NULLfort=sv=h;v!=NULL&&V->data<t->data;12;s=s->link;ifV==h3;else4;5;returnh;
[流程图说明]下列流程图用泰勒Taylor展开式sinx=x-x3/3!+x5/5!-x7/7!++-1n*x2n+1/2n+1!+计算并打印sinx的近似值其中用ε>0表示误差要求[流程图]
[说明]下面程序是为汽车市场编制的一个程序的一部分其中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;
[说明]从文件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;
[说明]下面的流程图说明的是图的深度遍历它的基本思想是以图中某一结点作为当前结点然后进行以下过程1处理或输出当前结点并记录当前结点的查访标志2若当前结点有后件结点则取第一个后件结点若该后件结点未被查访过则以该后件结点为当前结点用深度遍历法进行查访注定义深度遍历函数为dfsheadkmark;其中head指向图中的第一个结点mark[]为标记数组k用来动态存储图中的结点号下面给出单链表中结点结构和顺序存储空间中结点的结构structnode/*单链表中结点结构*/intnum;/*图中结点编号*/intval;/*求值函数*/structnode*next;/*指针域*/;structgpnode/*顺序存储空间中结点结构*/chardata;/*结点值*/5*link;/*指针域*/;[问题]将流程图及程序中的1~5处补充完整
[说明]将一正整数序列K1K2...K9重新排列成一个新的序列新序列中比K1小的数都在K1的前面左面比K1大的数都在K1的后面右面在程序中已给出了10个序列每个序列有9个正整数并存入数组a[10][9]中分别求出这10个新序列[函数]#include<stdio.h>#include<conio.h>voidjsValueinta[10][9]intijk.ntemp;intb[9];fori=0;i<10;i++temp=a[1][0];forj=8;j>=0;j--iftemp<a[il[j]1=a[i][j];iftemp==a[i][j]2=a[i][j];;iftemp==a[i][j]3=temp;forj=0;j<9;j++a[j][j]=b[j]voidmaininta[10][9]=689125473358912647821935467351298674478912536473512689913586247261983574537918264713258946;intij;4;fori=0;i<10;i++forj=0;j<9;j++printf%da[i][j];if5printf;printf/n;getch;
[说明]下面程序是为汽车市场编制的一个程序的一部分其中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;
[说明]下面的流程图说明的是图的深度遍历它的基本思想是以图中某一结点作为当前结点然后进行以下过程1处理或输出当前结点并记录当前结点的查访标志2若当前结点有后件结点则取第一个后件结点若该后件结点未被查访过则以该后件结点为当前结点用深度遍历法进行查访注定义深度遍历函数为dfsheadkmark;其中head指向图中的第一个结点mark[]为标记数组k用来动态存储图中的结点号下面给出单链表中结点结构和顺序存储空间中结点的结构structnode/*单链表中结点结构*/intnum;/*图中结点编号*/intval;/*求值函数*/structnode*next;/*指针域*/;structgpnode/*顺序存储空间中结点结构*/chardata;/*结点值*/5*link;/*指针域*/;[问题]将流程图及程序中的1~5处补充完整
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术