首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
[说明] 下面的流程图用来说明如何在数组中的指定位置插入一个数。 注:流程中循环开始的说明按照“循环变量:循环初值,循环终值,增量”格式描述; SIZE定义位数组的大小。 [问题] 将流程...
查看本题答案
包含此试题的试卷
初级程序员《填空集》真题及答案
点击查看
你可能感兴趣的试题
阅读下列说明流程图和算法进行填空 下面的流程图用N-S盒图形式描述了数组A中的元
阅读下列说明流程图和算法进行填空 下面的流程图用N-S盒图形式描述了数组A中的元素被划分的
试题七阅读以下说明和流程图填补流程图中的空缺 [说明] 假设数组A中的各元素A1A2AM已经按从
[说明]下面的流程图用来完成计算一组数组中的中值其方法是将数组中的一个值与其他值比较并计算大于等于被
[说明] 下面的流程图如图所示用N-S盒图形式描述了数组A中的元素被划分的过程其划分方法是以数组中
试题七阅读以下说明和流程图填补流程图中的空缺 [说明] 假设数组A中的各元素A1A2AM已经按从
阅读下列说明流程图和算法将应填入n处的字句写在答题纸的对应栏内 【说明】 下面的流程图1—5用N
阅读下列说明流程图和算法将应填入n处的字句写在答题纸的对应栏内【说明】下面的流程图1—5用N-S盒图
阅读下列说明流程图和算法将应填入n处的字句写在答题纸的对应栏内【说明】下面的流程图1—5用N-S盒图
试题一 阅读下列说明流程图和算法将应填入__n____处 [流程图说明] 下面的流程图用N-S盒图
阅读以下说明和流程图回答问题将解答填入对应栏 [说明] 下面的流程图用来完成计算一组数组中的中值
阅读下列说明流程图和算法进行填空 下面的流程图用N-S盒图形式描述了数组A中的元素被划分的
试题一 阅读下列说明流程图和算法将应填入n处的字句写在答题纸的对应栏内 [流程图说明] 下面的流程
工艺流程图用来说明输油管线的来龙去脉
[说明] 下面的流程图如图3所示用N-S盒图形式描述了数组A中的元素被划分的过程其划分方法是以数组
阅读以下说明和流程图回答问题将解答填入对应栏[说明]下面的流程图用来完成计算一组数组中的中值其方法是
[说明]下面的流程图用来说明如何在数组中的指定位置插入一个数注流程中循环开始的说明按照循环变量循环初
[说明]下面的流程图用来说明如何利用数组求前n个质数要确定一个数m是否是质数可以用已知求出的质数对m
阅读下列说明流程图和算法进行填空 下面的流程图用N-S盒图形式描述了数组A中的元素被划分的
阅读下列说明流程图和算法进行填空 下面的流程图用N-S盒图形式描述了数组A中的元素被划分的
热门试题
更多
[说明]函数Node*differenceAB用于求两个集合之差C=A-B即当且仅当e是A中的一个元素但不是B中的元素时e是C中的元素集合用有序链表实现用一个空链表表示一个空集合表示非空集合的链表根据元素之值按递增排列执行C=A-B之后表示集合A和B的链表不变若结果集合C非空则表示其链表根据元素之值按递增排列函数append用于在链表中添加结点[函数]typedefstructnodeintelement;structnode*link;Node;Node*A*B*C;Node*appendlasteNode*last;inte;last->link=Node*mallocsizeofNode;last->link->element=e;returnlast->link;Node*differenceABNode*A*B;Node*c*last;C=last=Node*mallocsizeofNode;while1ifA->element<B->elementlast=appendlastA->element;A=A->link;elseif2A=A->link;B=B->link;else3;while4last=appendlastA->element;A=A->link;5;last=C;C=C->link;freelast;returnC;
[说明]设计一程序输入16个整数到一个数组中将数组位序颠倒重新排序使每个数字不再按原j的顺序排列而是按j的二进制数颠倒后得出的数排列例如将第1个0001数与第8个1000数交换将第3个数0011与第12个数1100交换[C++程序]#include<iostream.h>#defineSIZE16#defineSWAPabtemper=a;a=b;b=temper;voidmalnintdata[SIZE];intncout<<请输入<<SIZE<<个整数;forn=0;n<SIZE;n++1;intj=0m;forinti=0;i<n;i++ifj>i2;3;while4&&j>=mj-=m;m>>=15;cout<<endl<<排序后;forn=0;n<SIZE;n++cout<<data[n];<<;
[说明]八皇后问题是指求解如何在国际象棋8*8棋盘上无冲突地放置八枚皇后棋子因为在国际象棋里皇后的移动方式是横竖交叉所以在任意一个皇后所在位置的水平竖赢和斜45线上都不能有其他皇后棋子的存在一个完整无冲突的八皇后棋子分布称为八皇后问题的一个解本程序实现了八枚皇后棋子在8*8棋盘上无冲突的放置[函数]#include<math.h>#include<stdio.h>#defineMAX8/*棋子数及棋盘大小MAX*MAX*/intboard[MAX];/*印出结果*/voidshow_resultinti;fori=0;i<MAX;i++printf%d%diboard[i];printf/n;/*检查是否在同一直横斜线上有其他棋子*/intcheck_crossintninti;fori=0;i<n;i++if1return1;return0;/*放棋子到棋盘上*/voidput_chessintninti;fori=0;i<MAX;i++board[n]=i;if2if3show_result;/*找到其中一种放法了印出结果*/else4;voidmainclrscr;putsThepossibleplacementsare:;5;puts/nPressanykeytoquit;getch;return
[说明]设有一个带头结点的双向循环链表L每个结点有4个数据成员指向前驱结点的指针prior指向后继结点的指针next存放数据的成员data和访问频度freq所有结点的freq初始时都为0每当在链表上进行一次L.Locatex操作时令元素值x的结点的访问频度freq加1并将该结点前移链接到现在它的访问频度相等的结点后面使得链表中所有结点保持按访问频度递减的顺序排列以使频繁访问的结点总是靠近表头[函数]voidLocateint&x<结点类型说明>*p=first->next;whilep!=first&&1p=p->next;ifp!=first2;<结点类型说明>*current=p;current->prior->next=current->next;current->next->prior=current->prior;p=current->prior;whilep!=first&&3p=p->prior;current->next=4;curren->prior=p;p->next->prior=current;p->next=5;elseprintfsorry.Notfind!/n;
[函数2.1说明]编制一个字符替换函数repchar*schar*s1char*s2实现将已知字符串s中所有属于字符串s1中的字符都用字符串s2中的对应字符代替[函数21]#include<stdio.h>#defineMAX50repchar*schar*s1char*s2char*p;for;*s;s++forp=s1;*p&&1;p++;/*检查当前字符是否在字符串s1中出现*/if*p2;/*当前字符在字符串s1中出现用字符串s2中的对应字符代替s中的字符*/[函数2.2说明]函数Insert_Sortintn是一个直接插入排序的程序其基本思想是假设待排序的记录存放在数组R[1n]中初始时R[1]自成一个有序区无序区为R[2n]从i=2起直至i=n为止依次将R[i]插入当前的有序区R[1i-1]中生成含n个记录的有序区[函数2.2]#defineMAX255intR[MAX];voidInsert_Sortintnintij;fori=2;i<=n;i++if3R[0]=R[i];j=i-1;/*R[0]是哨兵且是R[i]的副本*/do/*从右向左在有序区R[1i-1]中查找R[i]的插入位置*/4;/*将关键字大于R[i]的记录后移*/j--;while5;/*当R[i]≥R[j]时终止*/R[j+1]=R[0]j/*R[i]插入到正确的位置上*/
[说明]假设银行整存整取存款不同期限的月息利率分别为0.63%1年0.66%2年0.69%3年0.75%5年0.84%8年其中利息=本金*月息利率*12*存款年限现在某人手中有2000元钱请通过计算选择一种存钱方案使得钱存入银行20年后得到的利息最多假定银行对超过存款期限的那一部分时间不付利息设2000元存20年其中1年存i1次2年存i2次以此类推则到期时存款人应得到的本利合计为2000*1+rate1i1*1+rate2i2*l+rate3i3*l+rate5i5*l+rate8i8其中rateN为对应存款年限的利率年限还有如下限制条件0≤i8≤20≤i5≤20-8*i8/50≤13≤20-8*i8-5*i5/30≤i2≤20-8*i8-5*i5-3*i3/20≤i1=20-8*i8-5*i5-3*i3-2*i2用穷举法穷举出所有的i8i5i3i2i1代入求本利的公式计算出最大值[函数]#include<stdio.h>#include<math.h>voidmaininti8i5i3i2i1n8n5n3n2n1;floatmax=0term;clrscr;fori8=0;i8<3;i8++/*穷举所有可能的存款方式*/fori5=0;i5<=20-8*i8/5;i5++fori3=0;1;i3++fori2=0;2;i2++i1=20-8*18-5*i5-3*i3-2*12:3;/*计算到期时的本利合计*/if45;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8;printfFormaxinumprofitheshouldsosavehismoneyinabank:/n;printfmadefixeddepositfor8year:%dtimes/nn8;printfmadefixeddepositfor5year:%dtimes/nn5;printfmadefixeddepositfor3year:%dtimes/nn3;printfmadefixeddepositfor2year:%dtimes/nn2;printfmadefixeddepositfor1year:%dtimesYnn1;printfToa1:%.2f/nmax;/*输出存款方式*/puts/nPressanykeytoquit...;getch;
[函数2.1说明]编制一个字符替换函数repchar*schar*s1char*s2实现将已知字符串s中所有属于字符串s1中的字符都用字符串s2中的对应字符代替[函数21]#include<stdio.h>#defineMAX50repchar*schar*s1char*s2char*p;for;*s;s++forp=s1;*p&&1;p++;/*检查当前字符是否在字符串s1中出现*/if*p2;/*当前字符在字符串s1中出现用字符串s2中的对应字符代替s中的字符*/[函数2.2说明]函数Insert_Sortintn是一个直接插入排序的程序其基本思想是假设待排序的记录存放在数组R[1n]中初始时R[1]自成一个有序区无序区为R[2n]从i=2起直至i=n为止依次将R[i]插入当前的有序区R[1i-1]中生成含n个记录的有序区[函数2.2]#defineMAX255intR[MAX];voidInsert_Sortintnintij;fori=2;i<=n;i++if3R[0]=R[i];j=i-1;/*R[0]是哨兵且是R[i]的副本*/do/*从右向左在有序区R[1i-1]中查找R[i]的插入位置*/4;/*将关键字大于R[i]的记录后移*/j--;while5;/*当R[i]≥R[j]时终止*/R[j+1]=R[0]j/*R[i]插入到正确的位置上*/
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[Java程序]1ShapepublicabstractvoidprintShapeName;//纯虚函数publicdoubleareareturn0.0;publicdoublevolumnreturn0.0;classPointextendsShapeprivatedoublex.y;publicPointdoubleadoublebx=a;y=b;publicvoidsetPointdoubleadoublebx=a;y=b;finalpublicdoublegetXreturnx;finalpublicdoublegetYreturny;publicvoidprintShapeName2;classCircleextendsPointprivatedoubleradius;publicCircledoublerdoubleadoubleb3;radius=r>0r:0;publicvoidsetRadiusdoublerradius=r>0r:0;publicdoublegetRadiusreturnradius;publicdoubleareareturn3.14259*radius*radius;publicvoidprintshapeNameSystem.out.printcircle:;;;classCylinder4privatedoubleheight;publicCylinderdoublehdoublerdoublexdoubleysuperrxy;height=h>0h:0;publicvoidsetHeightdoublehheight=h>0h:0;publicdoublearea//计算表面积return5;publicdoublevolumndoubler=super.getRadius;return3.14159*r*r*height;publicvoidprintShapeNameSystem.out.printcylinder:;
[说明]下面的流程图用来完成计算一组数组中的中值其方法是将数组中的一个值与其他值比较并计算大于等于被比较数的数值的个数以及小于等于被比较数的数值的个数如果两数都大于n/2则已经找到了中值否则继续之前的步骤注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明]八皇后问题是指求解如何在国际象棋8*8棋盘上无冲突地放置八枚皇后棋子因为在国际象棋里皇后的移动方式是横竖交叉所以在任意一个皇后所在位置的水平竖赢和斜45线上都不能有其他皇后棋子的存在一个完整无冲突的八皇后棋子分布称为八皇后问题的一个解本程序实现了八枚皇后棋子在8*8棋盘上无冲突的放置[函数]#include<math.h>#include<stdio.h>#defineMAX8/*棋子数及棋盘大小MAX*MAX*/intboard[MAX];/*印出结果*/voidshow_resultinti;fori=0;i<MAX;i++printf%d%diboard[i];printf/n;/*检查是否在同一直横斜线上有其他棋子*/intcheck_crossintninti;fori=0;i<n;i++if1return1;return0;/*放棋子到棋盘上*/voidput_chessintninti;fori=0;i<MAX;i++board[n]=i;if2if3show_result;/*找到其中一种放法了印出结果*/else4;voidmainclrscr;putsThepossibleplacementsare:;5;puts/nPressanykeytoquit;getch;return
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[Java程序]1ShapepublicabstractvoidprintShapeName;//纯虚函数publicdoubleareareturn0.0;publicdoublevolumnreturn0.0;classPointextendsShapeprivatedoublex.y;publicPointdoubleadoublebx=a;y=b;publicvoidsetPointdoubleadoublebx=a;y=b;finalpublicdoublegetXreturnx;finalpublicdoublegetYreturny;publicvoidprintShapeName2;classCircleextendsPointprivatedoubleradius;publicCircledoublerdoubleadoubleb3;radius=r>0r:0;publicvoidsetRadiusdoublerradius=r>0r:0;publicdoublegetRadiusreturnradius;publicdoubleareareturn3.14259*radius*radius;publicvoidprintshapeNameSystem.out.printcircle:;;;classCylinder4privatedoubleheight;publicCylinderdoublehdoublerdoublexdoubleysuperrxy;height=h>0h:0;publicvoidsetHeightdoublehheight=h>0h:0;publicdoublearea//计算表面积return5;publicdoublevolumndoubler=super.getRadius;return3.14159*r*r*height;publicvoidprintShapeNameSystem.out.printcylinder:;
[说明]函数diff的功能是根据两个由整数都大于-32768按升序构成的单链表L1和L2分别由AB指向构造一个单链表L3由*r指向要求L3中的所有整数都是L1并且不是L2中的整数还要求L3中的所有整数都两两不等[函数]#include<malloc.h>typedefstructnodeintd;structnode*nextNode;voiddiffNode*ANode*BNode**rintlastnum;Node*p;*r=NULL;if!Areturn;while1ifA->d
[说明] 设计一个评选优秀教师和学生的程序其类结构如下图所示当输入一系列教师或学生的记录后将优秀学生及教师的姓名列出来 [C++程序] #include<iostream.h> #include<stdio.h> enumbooleanFalseTrue; classbase Protected: charname[8]; public: voidgetnamecout<<"姓名:";cin>>name; voidprintnamecout<<"姓名:"<<name<<endU virtualbooleanisgood=0; classstudent:1 intnum; public: voicigetnum cout<<"考绩:";cin>>num; booleanisgoodreturn2; ; classteacher:3 intnum; public: voidgetnum cout<<"每年发表论文数";cin>>num; booleanisgoodreturn4; voidmain base*p[50]; student*pstud; teacher*ptech; charch; intcount=0; do cunt<<"输入教师t或学生S:"; cin>>ch; ifch==’s’ pstud=newstudent; pstud->getname; pstud->getnum; p[count++]=pstud; elseifch==’t’ ptech=newteacher; ptech->getname; ptech->getnum; p[count++]=ptech; else cout<<"输入错误"<<endl; cout<<"继续输入吗Y/n"; cin>>ch; whilech==’Y’; forinti=0;i<count;i++ if5//若为优秀则输出之 p[i]->printname; 4处填
[函数2.1说明]编制一个字符替换函数repchar*schar*s1char*s2实现将已知字符串s中所有属于字符串s1中的字符都用字符串s2中的对应字符代替[函数21]#include<stdio.h>#defineMAX50repchar*schar*s1char*s2char*p;for;*s;s++forp=s1;*p&&1;p++;/*检查当前字符是否在字符串s1中出现*/if*p2;/*当前字符在字符串s1中出现用字符串s2中的对应字符代替s中的字符*/[函数2.2说明]函数Insert_Sortintn是一个直接插入排序的程序其基本思想是假设待排序的记录存放在数组R[1n]中初始时R[1]自成一个有序区无序区为R[2n]从i=2起直至i=n为止依次将R[i]插入当前的有序区R[1i-1]中生成含n个记录的有序区[函数2.2]#defineMAX255intR[MAX];voidInsert_Sortintnintij;fori=2;i<=n;i++if3R[0]=R[i];j=i-1;/*R[0]是哨兵且是R[i]的副本*/do/*从右向左在有序区R[1i-1]中查找R[i]的插入位置*/4;/*将关键字大于R[i]的记录后移*/j--;while5;/*当R[i]≥R[j]时终止*/R[j+1]=R[0]j/*R[i]插入到正确的位置上*/
[说明]函数diff的功能是根据两个由整数都大于-32768按升序构成的单链表L1和L2分别由AB指向构造一个单链表L3由*r指向要求L3中的所有整数都是L1并且不是L2中的整数还要求L3中的所有整数都两两不等[函数]#include<malloc.h>typedefstructnodeintd;structnode*nextNode;voiddiffNode*ANode*BNode**rintlastnum;Node*p;*r=NULL;if!Areturn;while1ifA->d
[说明]假设银行整存整取存款不同期限的月息利率分别为0.63%1年0.66%2年0.69%3年0.75%5年0.84%8年其中利息=本金*月息利率*12*存款年限现在某人手中有2000元钱请通过计算选择一种存钱方案使得钱存入银行20年后得到的利息最多假定银行对超过存款期限的那一部分时间不付利息设2000元存20年其中1年存i1次2年存i2次以此类推则到期时存款人应得到的本利合计为2000*1+rate1i1*1+rate2i2*l+rate3i3*l+rate5i5*l+rate8i8其中rateN为对应存款年限的利率年限还有如下限制条件0≤i8≤20≤i5≤20-8*i8/50≤13≤20-8*i8-5*i5/30≤i2≤20-8*i8-5*i5-3*i3/20≤i1=20-8*i8-5*i5-3*i3-2*i2用穷举法穷举出所有的i8i5i3i2i1代入求本利的公式计算出最大值[函数]#include<stdio.h>#include<math.h>voidmaininti8i5i3i2i1n8n5n3n2n1;floatmax=0term;clrscr;fori8=0;i8<3;i8++/*穷举所有可能的存款方式*/fori5=0;i5<=20-8*i8/5;i5++fori3=0;1;i3++fori2=0;2;i2++i1=20-8*18-5*i5-3*i3-2*12:3;/*计算到期时的本利合计*/if45;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8;printfFormaxinumprofitheshouldsosavehismoneyinabank:/n;printfmadefixeddepositfor8year:%dtimes/nn8;printfmadefixeddepositfor5year:%dtimes/nn5;printfmadefixeddepositfor3year:%dtimes/nn3;printfmadefixeddepositfor2year:%dtimes/nn2;printfmadefixeddepositfor1year:%dtimesYnn1;printfToa1:%.2f/nmax;/*输出存款方式*/puts/nPressanykeytoquit...;getch;
[说明]设计一程序输入16个整数到一个数组中将数组位序颠倒重新排序使每个数字不再按原j的顺序排列而是按j的二进制数颠倒后得出的数排列例如将第1个0001数与第8个1000数交换将第3个数0011与第12个数1100交换[C++程序]#include<iostream.h>#defineSIZE16#defineSWAPabtemper=a;a=b;b=temper;voidmalnintdata[SIZE];intncout<<请输入<<SIZE<<个整数;forn=0;n<SIZE;n++1;intj=0m;forinti=0;i<n;i++ifj>i2;3;while4&&j>=mj-=m;m>>=15;cout<<endl<<排序后;forn=0;n<SIZE;n++cout<<data[n];<<;
[说明]下面的流程图用来完成计算一组数组中的中值其方法是将数组中的一个值与其他值比较并计算大于等于被比较数的数值的个数以及小于等于被比较数的数值的个数如果两数都大于n/2则已经找到了中值否则继续之前的步骤注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明]下面程序计算正方体球体和圆柱体的表面积和体积[C++程序]#include<iostream.h>classcontainerprotected:doubleradius;publiccontainerdoubleradiuscontainer::radius=radius;1;2;;classcube:3publiccubedoubleradius::containerradius;doublesurface_areareturnradius*radius*6;doublevolumereturnradius*radius*radius;;classsphere:publiccontainer4;doublesurface_areareturn4*3.1416*radius*radius;doublevolumereturn3.1416*radius*radius*radius*4/3;;classcylinder:publiccontainerdoubleheight;publiccylinderdoubleradiusdoubleheight:containerradius5;doublesurface_areareturn2*3.1416*radius*height+radius;doublevolumereturn3.1416*radius*radius*height;;voidmaincontainer*p;cubeobj15;sphereobj25;cylinderobj355;p=&obj1;cout<<正方体表面积<<p->surface_area<<endl;cout<<正方体体积<<p->volume<<endl;p=&obj2;cout<<球体表面积<<p->surface_area<<endl;cout<<球体体积<<p->volume<<endl;p=&obj3;cout<<圆柱体表面积<<p->surface_area<<endl;cout<<圆柱体体积<<p->volume<<endl;
[说明]八皇后问题是指求解如何在国际象棋8*8棋盘上无冲突地放置八枚皇后棋子因为在国际象棋里皇后的移动方式是横竖交叉所以在任意一个皇后所在位置的水平竖赢和斜45线上都不能有其他皇后棋子的存在一个完整无冲突的八皇后棋子分布称为八皇后问题的一个解本程序实现了八枚皇后棋子在8*8棋盘上无冲突的放置[函数]#include<math.h>#include<stdio.h>#defineMAX8/*棋子数及棋盘大小MAX*MAX*/intboard[MAX];/*印出结果*/voidshow_resultinti;fori=0;i<MAX;i++printf%d%diboard[i];printf/n;/*检查是否在同一直横斜线上有其他棋子*/intcheck_crossintninti;fori=0;i<n;i++if1return1;return0;/*放棋子到棋盘上*/voidput_chessintninti;fori=0;i<MAX;i++board[n]=i;if2if3show_result;/*找到其中一种放法了印出结果*/else4;voidmainclrscr;putsThepossibleplacementsare:;5;puts/nPressanykeytoquit;getch;return
[说明]下面的流程图用来说明如何利用数组求前n个质数要确定一个数m是否是质数可以用已知求出的质数对m的整除性来确定对于任意整数m如果它不能被小于它的质数整除则m也是质数注primes[]是质数表已经求得的质数的个数为pc[问题]将流程图的1~5处补充完整
[说明]设有一个带头结点的双向循环链表L每个结点有4个数据成员指向前驱结点的指针prior指向后继结点的指针next存放数据的成员data和访问频度freq所有结点的freq初始时都为0每当在链表上进行一次L.Locatex操作时令元素值x的结点的访问频度freq加1并将该结点前移链接到现在它的访问频度相等的结点后面使得链表中所有结点保持按访问频度递减的顺序排列以使频繁访问的结点总是靠近表头[函数]voidLocateint&x<结点类型说明>*p=first->next;whilep!=first&&1p=p->next;ifp!=first2;<结点类型说明>*current=p;current->prior->next=current->next;current->next->prior=current->prior;p=current->prior;whilep!=first&&3p=p->prior;current->next=4;curren->prior=p;p->next->prior=current;p->next=5;elseprintfsorry.Notfind!/n;
[说明]下面程序定义了一个类Shape及其成员函数然后从类Shape派生出类Point类Circle类Cylinder以及它们的成员函数[Java程序]1ShapepublicabstractvoidprintShapeName;//纯虚函数publicdoubleareareturn0.0;publicdoublevolumnreturn0.0;classPointextendsShapeprivatedoublex.y;publicPointdoubleadoublebx=a;y=b;publicvoidsetPointdoubleadoublebx=a;y=b;finalpublicdoublegetXreturnx;finalpublicdoublegetYreturny;publicvoidprintShapeName2;classCircleextendsPointprivatedoubleradius;publicCircledoublerdoubleadoubleb3;radius=r>0r:0;publicvoidsetRadiusdoublerradius=r>0r:0;publicdoublegetRadiusreturnradius;publicdoubleareareturn3.14259*radius*radius;publicvoidprintshapeNameSystem.out.printcircle:;;;classCylinder4privatedoubleheight;publicCylinderdoublehdoublerdoublexdoubleysuperrxy;height=h>0h:0;publicvoidsetHeightdoublehheight=h>0h:0;publicdoublearea//计算表面积return5;publicdoublevolumndoubler=super.getRadius;return3.14159*r*r*height;publicvoidprintShapeNameSystem.out.printcylinder:;
[说明]下面的流程图用来说明如何利用数组求前n个质数要确定一个数m是否是质数可以用已知求出的质数对m的整除性来确定对于任意整数m如果它不能被小于它的质数整除则m也是质数注primes[]是质数表已经求得的质数的个数为pc[问题]将流程图的1~5处补充完整
[说明] 设计一个评选优秀教师和学生的程序其类结构如下图所示当输入一系列教师或学生的记录后将优秀学生及教师的姓名列出来 [C++程序] #include<iostream.h> #include<stdio.h> enumbooleanFalseTrue; classbase Protected: charname[8]; public: voidgetnamecout<<"姓名:";cin>>name; voidprintnamecout<<"姓名:"<<name<<endU virtualbooleanisgood=0; classstudent:1 intnum; public: voicigetnum cout<<"考绩:";cin>>num; booleanisgoodreturn2; ; classteacher:3 intnum; public: voidgetnum cout<<"每年发表论文数";cin>>num; booleanisgoodreturn4; voidmain base*p[50]; student*pstud; teacher*ptech; charch; intcount=0; do cunt<<"输入教师t或学生S:"; cin>>ch; ifch==’s’ pstud=newstudent; pstud->getname; pstud->getnum; p[count++]=pstud; elseifch==’t’ ptech=newteacher; ptech->getname; ptech->getnum; p[count++]=ptech; else cout<<"输入错误"<<endl; cout<<"继续输入吗Y/n"; cin>>ch; whilech==’Y’; forinti=0;i<count;i++ if5//若为优秀则输出之 p[i]->printname; 2处填
[说明]函数Node*differenceAB用于求两个集合之差C=A-B即当且仅当e是A中的一个元素但不是B中的元素时e是C中的元素集合用有序链表实现用一个空链表表示一个空集合表示非空集合的链表根据元素之值按递增排列执行C=A-B之后表示集合A和B的链表不变若结果集合C非空则表示其链表根据元素之值按递增排列函数append用于在链表中添加结点[函数]typedefstructnodeintelement;structnode*link;Node;Node*A*B*C;Node*appendlasteNode*last;inte;last->link=Node*mallocsizeofNode;last->link->element=e;returnlast->link;Node*differenceABNode*A*B;Node*c*last;C=last=Node*mallocsizeofNode;while1ifA->element<B->elementlast=appendlastA->element;A=A->link;elseif2A=A->link;B=B->link;else3;while4last=appendlastA->element;A=A->link;5;last=C;C=C->link;freelast;returnC;
[说明]已知类SubClass的getSum方法返回其父类成员i与类SubClass成员j的和类SuperClass中的getSum为抽象函数程序中的第14行有错误请修改该错误并给出修改后的完整结果然后完善程序中的空缺当程序运行到第22行且尚未执行第22行语句时成员变量i的值最后给出程序运行后的输出结果[Java代码]行号代码01publicclassMainjava02publicstaticvoidmainString[]args03SuperClasss=newSubClass;04System.out.printlns.getValue;05System.out.printlns.getSum;060708abstractclassSuperClass09privateinti;10publicSuperClassi=5;11publicintgetValue12returni;1314publicfinalabstractintgetSum;1516classSubClassextendsSuperClass17intj;18publicSubClass19this-3;2021publicSubClassintj221.j=j;2324publicintgetValuereturnj;25publicintgetSum26return2.getValue+j;2728
[说明]假设银行整存整取存款不同期限的月息利率分别为0.63%1年0.66%2年0.69%3年0.75%5年0.84%8年其中利息=本金*月息利率*12*存款年限现在某人手中有2000元钱请通过计算选择一种存钱方案使得钱存入银行20年后得到的利息最多假定银行对超过存款期限的那一部分时间不付利息设2000元存20年其中1年存i1次2年存i2次以此类推则到期时存款人应得到的本利合计为2000*1+rate1i1*1+rate2i2*l+rate3i3*l+rate5i5*l+rate8i8其中rateN为对应存款年限的利率年限还有如下限制条件0≤i8≤20≤i5≤20-8*i8/50≤13≤20-8*i8-5*i5/30≤i2≤20-8*i8-5*i5-3*i3/20≤i1=20-8*i8-5*i5-3*i3-2*i2用穷举法穷举出所有的i8i5i3i2i1代入求本利的公式计算出最大值[函数]#include<stdio.h>#include<math.h>voidmaininti8i5i3i2i1n8n5n3n2n1;floatmax=0term;clrscr;fori8=0;i8<3;i8++/*穷举所有可能的存款方式*/fori5=0;i5<=20-8*i8/5;i5++fori3=0;1;i3++fori2=0;2;i2++i1=20-8*18-5*i5-3*i3-2*12:3;/*计算到期时的本利合计*/if45;n1=i1;n2=i2;n3=i3;n5=i5;n8=i8;printfFormaxinumprofitheshouldsosavehismoneyinabank:/n;printfmadefixeddepositfor8year:%dtimes/nn8;printfmadefixeddepositfor5year:%dtimes/nn5;printfmadefixeddepositfor3year:%dtimes/nn3;printfmadefixeddepositfor2year:%dtimes/nn2;printfmadefixeddepositfor1year:%dtimesYnn1;printfToa1:%.2f/nmax;/*输出存款方式*/puts/nPressanykeytoquit...;getch;
[说明]本程序实现对指定文件内的单词进行计数其中使用二叉树结构来保存已经读入的不同单词并对相同单词出现的次数进行计数此二叉树的左孩子结点的字符串值小于父结点的字符串值右孩子结点的字符串值大于父结点的字符串值函数getwordchar*filenamechar*word是从指定的文件中得到单词char*strdupchar*s是复制s所指向的字符串并返回复制字符串的地址[函数]#include<stdio.h>#include<ctype.h>#include<string.h>#defineMAXWORD100structnodechar*word;intcount;structnode*left;structnode*right;structnode*addtreestructnode*pchar*wintcond;ifp==NULL/*向树中插入结点*/p=structnode*mallocsizeofstructnode;p->word=strdupw;p->count=1;1;elseifcond=strcmpwp->word==02;elseifcond<0p->left=3;elsep->right=4;returnp;mainstructnode*root;charword[MAXWORD];root=NULL;filename=example.dat;whilegetwordfilenameword!=EOFroot=5;
[说明]函数diff的功能是根据两个由整数都大于-32768按升序构成的单链表L1和L2分别由AB指向构造一个单链表L3由*r指向要求L3中的所有整数都是L1并且不是L2中的整数还要求L3中的所有整数都两两不等[函数]#include<malloc.h>typedefstructnodeintd;structnode*nextNode;voiddiffNode*ANode*BNode**rintlastnum;Node*p;*r=NULL;if!Areturn;while1ifA->d
热门题库
更多
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术
电话交换专业技术