首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
结构化分析方法(SA)的主要思想是 (51) 。
查看本题答案
包含此试题的试卷
初级程序员《单选集》真题及答案
点击查看
你可能感兴趣的试题
结构化分析SA是软件开发需求分析阶段所使用的方法______不是SA所使用的工具
DFD图
PAD图
结构化英语
判定表
结构化分析SA是软件开发需求分析阶段所使用的方法以下哪一项不是SA所使用的工具
PAD图
DFD图
判定表
结构化语言
结构化分析SA是软件开发需求分析阶段所使用的方法以下选项中哪个不是SA所使用的工具
DFD图
PAD图
结构化语言
判定表
简述计算机软件工程结构化分析SA方法的步骤
结构化分析方法SA的主要思想是
自顶向下、逐步分解
自顶向下、逐步抽象
白底向上、逐步抽象
自底向上、逐步分解
软件工程中的结构化分析SA是一种面向【3】的分析方法
结构化分析SA是软件开发需求分析阶段所使用的方法下列不是SA所使用工具的是
DFD图
PAD图
结构化语言
判定表
结构化分析方法SA的主要思想是______
自顶向下、逐步分解
自顶向下、逐步抽象
自底向上、逐步抽象
自底向上、逐步分解
结构化分析SA是软件开发需求分析阶段所使用的方法以下选项中不是SA所使用的工具
DFD图
PAD图
结构化应用
判定表
需求分析的主要方法有
形式化分析方法
PAD图描述
结构化分析(SA)方法
OOA法
结构化分析SA是软件开发需求分析阶段所使用的方法不是SA所使用的工具
DFD图
PAD图
结构化语言
判定表
结构化分析方法SA是一种预先严格定义需求的方法强调分析对象的51其指导思想是52
自顶向下逐层分解
自底向上逐层分解
面向对象
随心所欲
结构化分析方法SA是面向的需求分析方法
对象
数据结构
数据流
结构图
常用的需求分析方法有面向数据流的结构化分析方法SA面向对象的分析方法OOA下列不是结构化分析方法的图
决策树
数据流图
数据字典
快速原型
结构化分析方法SA的主要思想是8
自顶向下、逐步分解
自顶向下、逐步抽象
自底向上、逐步抽象
自底向上、逐步分解
软件工程中的结构化分析SA是一种面向______的分析方法
结构化分析方法SA是一种预先严格定义需求的方法强调分析对象的51其指导思想是52
程序流
指令流
数据流
控制流
热门试题
更多
【说明】本程序的功能是生成螺旋方阵用户可以输入该方阵的行列数然后就生成对应的螺旋方阵例如当n=5时对应的螺旋方阵如下11615141321724231231825221141920211056789【C++代码】#includestdio.h#includeiostreamhintarray[11][11];inttemp;intROW;voidgodownint&mint&afortemp=1;temp<=ROW;temp++ifarray[temp][a]==0array[temp][a]=1;a++;voidgorightint&mint&bfortemp=1;temp<=ROW;temp++ifarray[b][temp]==0array[b][temp]=m++;b--;voidgoupint&m.int&cfortemp=ROW;temp>0;temp-ifarray[temp][c]==0array[temp][c]=m++;c--;voidgoleftint&mint&dfortemp=ROW;temp>0;temp--ifarray[d][temp]==0array[d][temp]=m++;2;voidmainintabcdmaxm;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<=maxgodownma;5mb;goupmc;goleftmd:fora=1;a<=ROW;a++forb=1;b<=ROW;b++printf%3darray[a][b];cout<<end1;
阅读下列说明图和C++代码将应填入n处的字句写在答题纸的对应栏内[说明]已知对某载客车辆Car进行类建模如图5-1所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客[C++代码]constint1=7;//定义最多载客数constintMAXWHEELS=5;//定义最多轮胎数classBody//此处代码省略;//车身类classPassenger//此处代码省略;//乘客类classWheel//此处代码省略;//车轮类classDriver//司机类public:stringname//表示第几路公交车司机DriverstringdriverName:name2;//构造函数;classEngine//引擎类public:stringengineNo;//引擎编号EnginestringengineNo3->engineNo=engineNo;//构造函数;classCar//汽车类protected:Engine*engine;Driver*driver;Bodybody;Wheel*wheels[MAX_HEELS];Passenger*passengers[MAX_PASSENGERS];public:CarDriver*driver//构造函数this->driver=driver;engine=newEngineTX6536型号引擎;intindex;forindex=0;index<MAX_HEELS;index++wheels[index]=newWheel;forindex=0;index<MAX_PASSENGERS;index++passengers[index]=NULL;virtual~Car//析构函数forintindex=0;index<MAX_WHEELS;index++deletewheels[index];delete4;intgetPassengerNumber//获取车上乘客数量//此处代码省略voidgetOnPassengerPassenger*aPassenger//乘客上车//此处代码省略voidrun//开车ifdriver==NULLcout<<司机尚未上车!;return;//此处代码省略voidmainDriverdriver第五路公交车司机;Carcar5;Passengerpassengers[MAX_PASSENGERS];forintindex=0;index<MAXPASSENGERS;index++//乘客上车处理car.getOnPassenger&passengers[index];car.run;
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某单位准备进行一次选举对指定的n名n<80候选人进行投票为了简化选举工作事先印制了写有这n名候选人姓名的选票投票者只需将选中者名下的圆圈涂黑即可规定每张选票上被涂黑的圆圈数不得超过3个也不得少于1个否则视为无效选票投票结束后所有选票经计算机扫描处理形成了描述选票状态的文本文件例如n=8时所形成的文件如下010110001001010010011000111111110000000000111000其中每行表示一张选票的数据每列代表一位候选者的得票情况第i行第j列为1表示第i张选票上投了第j名候选人1票函数statistic的功能是读入选票数据并统计每位候选者的得票数函数返回有效选票数[C语言函数]intstatisticFILE*fpintcandidate[]intn/*从文件中读入选票数据n为候选人数量n<80从有效选票中统计每位候选者的得票数并存入candidate[]函数返回有效选票数*/charstr[80];/*str保存读入的一张选票数据*/intitag=0;/*tag用于判断每张选票是否有效*/intq=0;/*q用于计算有效选票数*/fori=0;i<n;i++candidate[i]=0while1fgetsstr80fp;/*读入一张选票数据*/fortag=0i=0;2;i++ifstr[i]==’1’tag++;if3/*若是有效选票则进行统计*/4;fori=0;i<n;i++ifstr[i]==’1’5;returnq;/*statistic*/
【函数2.1说明】有1234四个数字输出由这些数字组成的互不相同且无重复数字的三位数【函数2.1】mainintijk;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#defineN101mainintijlinea[N];fori=2;i<N;i++3;fori=2;i<sqrtN;i++forj=i+1;j<N;j++ifa[i]!=0&&a[j]!=0ifa[j]%a[i]==04;printfC/n;fori=2line=0;i<N;i++ifa[i]!=0prinff%5da[i];5;ifline==10prinff/n;line=0;
1说明】本程序可以打印出如下图形菱形*************************【函数2.1】mainintijk;fori=0;i<=3;i++forj=0;j<=2-i;j++printf;for1printf*;printf/n;fori=0;i<=2;i++for2printf;fork=0;k<=4-2*i;k++printf*;printf/n;【函数2.2说明】通过本程序可以从键盘输入一个字符串将小写字母全部转换成大写字母然后输出到一个磁盘文件CsaiWgm中保存输入的字符串以!结束【函数2.2】#includestdio.hmainFILE*fp;charstr[100]filename[10];inti=0;iffp=fopenCsaiWgmw==NULLprintfcannotopenthefile/n;exit0;printfpleaseinputastring:/n;getsstr;while3ifstr[i]>=’a’&&str[i]<=’z’str[i]=4;fputcstr[i]fp;5;fclosefp;fp=fopenCsaiWgmr;fgetsstrstdenstr+1fp;printf%s/nstr;fclosefp;
【说明】本程序从正文文件text.in中读入一篇英文短文统计该短文中不同单词及出现次数并按词典编辑顺序将单词及出现次数输出到正文文件word.out中程序用一棵有序二叉树存储这些单词及其出现的次数边读入边建立然后中序遍历该二叉树将遍历经过的二叉树上的结点内容输出【函数】#include<stdio.h>#include<malloc.h>#include<ctype.h>#include<string.h>#defineINFtext.in#defineOUTFword.our’typedefstructtreenodechar*word;intcount;structtreenode*left*right;BNODE;intgetwordFILE*fptchar*wordcharc;c=fgetctpt;ifc==EOFreturn0;while!tolowerc>=’a’&&tolowerc<=’z’c=fgetcfpt;ifc==EOFreturn0;/*跳过单词间的所有非字母字符*/whiletolowerc>=’a’&&tolowerc<=’z’*word++=c;c=fgetcfpt;*word=’/0’;return1;voidbinary_treeBNODE**tchar*wordBNODE*ptr*p;intcompres;p=NULL;1;whileptr/*寻找插入位置*/compres=strcmpwordptr->word;/*保存当前比较结果*/if!compres2;return;elsep=ptr;ptr=compres>0ptr->right:ptr->left;ptr=BNODE*mallocsizeofBNODE;ptr->left=ptr->right=NULL;ptr->word=char*mallocstrlenword+1;strcpyptr->wordword;3;ifp==NULL*t=ptr;elseifcompres>0p->right=ptr;elsep->left=ptr;voidmidorderFILE*fptBNODE*tift==NULLreturn;midorderfpt4;fprintffpt%s%d/nt->wordt->count;midorderfptt->right;voidmainFILE*fpt;charword[40];BNODE*root=NULL;iffpt=fopenINFr==NULLprintfCan’topenfile%s/nINF;return;whilegetwordfptword==1binary_tree5;fclosefpt;fpt=fopenOUTFw;iffpt==NULLprintfCan’topenfife%s/nOUTF;return;midorderfptroot;fclosefpt;
阅读以下说明和C语言函数将应填入n处的字句写在答题纸的对应栏内[说明]一棵非空二叉树中最左下结点定义为若树根的左子树为空则树根为最左下结点否则从树根的左子树根出发沿结点的左孩子分支向下查找直到某个结点不存在左孩子时为止该结点即为此二叉树的最左下结点例如下图所示的以A为根的二叉树的最左下结点为D以C为根的子二叉树中的最左下结点为C二叉树的结点类型定义如下typedefstructBSTNodeintdatastructBSTNode*1ch*rch;/*结点的左右孩子指针*/*BSTree;函数BSTreeFind_DelBSTreeroot的功能是若root指向一棵二叉树的根结点则找出该结点的右子树上的最左下结点*p并从树下删除以*p为根的子树函数返回被册除子树的根结点指针若该树根的右子树上不存在最左下结点则返回空指针[函数]BSTreeFind_DelBSTreerootBSTreeppre;if!rootreturnNULL;/*root指向的二叉树为空树*/1;/*令p指向根结点的右子树*/if!preturnNULL;2;/*设置pre的初值*/whilep->1chpre=p;p=3;if4==root/*root的右子树根为最左下结点*/pre->rch=NULL;else5=NULL;/*删除以最左下结点为根的子树*/returnp;
【说明】本程序的功能是根据矩形左上角和右下角顶点坐标生成一个矩形对象然后输出该矩形4个顶点的坐标计算并输出该矩形的面积【C++代码】#include<iostream>usingnamespacestd;classMyPoint//表示平面坐标系中的点的类doublex;doubley;public:MyPointdoublexdoubleythis->x=x;this->y=y;doublegetXconst1;doublegetYconstreturny;voidshowconstcout<<’’<<x<<’’<<y<<’’;;classMyRectangle//表示矩形的类MyPointupleft;//矩形的左上角顶点MyPointdownright;//矩形的右下角顶点public:MyRectangleMyPointupleftMyPointdownright;MyPointgetUpLeftconstreturnup_left;//返回左上角坐标MyPointgetDownRightconstreturndown_right;//返回右下角坐标MyPointgetUpRightconst;//返回右上角坐标MyPointgetDownLeftconst;//返回左下角坐标doubleareaconst;//返回矩形的面积;MyRectangle::MyRectangle2:upleftp1down_rightp2MyPointMyRectangle::getUpRightconstreturnMyPointdown_right.getXup_left.getY;MyPointMyRectangle::getDownLeftconstreturnMyPeint3;double4::areaconstreturngetUpLeftgetX-getDownRight.getX*getDownRight.getY-getUpLeft.getY;intmainMyRectanglerMyPoint02MyPoint20;r.getUpLeftshow;r.getUpRight.show;r.getDownRight.show;5;cout<<r.area<<end1;return0;
【说明】编写程序生成一个新文本文件它由一个已知文本文件的所有偶数行组成要求已知文本文件名和新文本文件名均从键盘输入请填空完善程序【C语言程序】#include<stdio.h>mainFILE*oldf*newf;charchfname[20];inti;doprintfEnternameofexistedtextfiletoberead:;scanf%sfname;ifoldf=fopenfnamer==NULLprintfFile%scan’topen!/nfname;whileoldf==NULL;doprintfEntermaneofnewtextfiletobewritten:;scanf%sfname;if1==NULLprintfFile%scan’topen!/nfname;while2;i=1;while!feofoldfwhilech=fgetcoldf!=3ifi%2==4fputcchnewf;fputc’/n’newf;5;fcloseoldf;fclosenewf;
阅读以下说明和流程图填补流程图中的空缺1~9将解答填入对应栏内[说明]假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779[流程图]
【说明】设有n个人围坐一圈并按顺时针方向从1到n编号从第s个人开始进行1到m的报数报数到第m个人则此人出圈再从他的下一个人重新开始1到m的报数如此进行下去直到所有的人都出圈为止现要求按出圈次序每10人一组给出这n个人的顺序表设n=100s=1m=101将1到n个人的序号存入一维数组p中2若第i个人报数后出圈则将p置于数组的倒数第i个位置上而原来第i+1个至倒数第i个元素依次向前移动一个位置3重复第2步直至圈中只剩下p[1]为止#include<stdio.h>#defineN100#defineS1#defineM10voidmainintp[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]
阅读以下说明和流程图填补流程图中的空缺1~9将解答填入对应栏内[说明]假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779[流程图]
【函数2.1说明】将一个正整数分解质因数例如输入90打印出90=2*3*3*5【函数2.1】Fun1intninti;fori=2;i<=n;i++while1ifn%i==0printf%d*i;2;elsebreak;printf%d/n;【函数2.2说明】下面程序的功能是海滩上有一堆桃子5只猴子来分第1只猴子把这堆桃子平均分为5份多了一个这只猴子把多的一个扔入海中拿走了一份第2只猴子把剩下的桃子又平均分成5份又多了一个它同样把多的一个扔入海中拿走了一份第345只猴子都是这样做的问海滩上原来最少有多少个猴子【函数2.2】mainintimjkcount;fori=4;i<10000;i+=4count=0;3;fork=0;k<5;k++4;i=j;ifj%4==05;elsebreak;i=m;ifcount==4printf%d/ncount;break;
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某单位准备进行一次选举对指定的n名n<80候选人进行投票为了简化选举工作事先印制了写有这n名候选人姓名的选票投票者只需将选中者名下的圆圈涂黑即可规定每张选票上被涂黑的圆圈数不得超过3个也不得少于1个否则视为无效选票投票结束后所有选票经计算机扫描处理形成了描述选票状态的文本文件例如n=8时所形成的文件如下010110001001010010011000111111110000000000111000其中每行表示一张选票的数据每列代表一位候选者的得票情况第i行第j列为1表示第i张选票上投了第j名候选人1票函数statistic的功能是读入选票数据并统计每位候选者的得票数函数返回有效选票数[C语言函数]intstatisticFILE*fpintcandidate[]intn/*从文件中读入选票数据n为候选人数量n<80从有效选票中统计每位候选者的得票数并存入candidate[]函数返回有效选票数*/charstr[80];/*str保存读入的一张选票数据*/intitag=0;/*tag用于判断每张选票是否有效*/intq=0;/*q用于计算有效选票数*/fori=0;i<n;i++candidate[i]=0while1fgetsstr80fp;/*读入一张选票数据*/fortag=0i=0;2;i++ifstr[i]==’1’tag++;if3/*若是有效选票则进行统计*/4;fori=0;i<n;i++ifstr[i]==’1’5;returnq;/*statistic*/
阅读以下函数说明和C语言函数将应填入n的字句写在答题纸的对应栏内[说明1]函数intfun1intmintn的功能是计算并返回正整数m和n的最大公约数[函数1]intfun1intmintnwhile1ifm>nm=m-n;elsen=n-m;2;[说明2]函数longfun2char*str的功能是自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数最多8位例如若字符串str的值为f3g8d5.ji2e3p12fkp则函数返回值为3852312[函数2]longfun2char*strinti=0;longk=0;char*p=str;while*p!=’\0’&&3if*p>=’0’&&*p<=’9’k=4+*p-’0’;++i;5;returnk;
阅读以下函数说明和C语言函数将应填入n的字句写在答题纸的对应栏内[说明1]函数intfun1intmintn的功能是计算并返回正整数m和n的最大公约数[函数1]intfun1intmintnwhile1ifm>nm=m-n;elsen=n-m;2;[说明2]函数longfun2char*str的功能是自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数最多8位例如若字符串str的值为f3g8d5.ji2e3p12fkp则函数返回值为3852312[函数2]longfun2char*strinti=0;longk=0;char*p=str;while*p!=’\0’&&3if*p>=’0’&&*p<=’9’k=4+*p-’0’;++i;5;returnk;
【说明】本程序利用非递归算法实现二叉树后序遍历【函数】#include<stdio.h>#include<stdlib.h>typedefstructnode/*二叉树的结点数据结构类型*/chardata;structnode*left;structnode*right;BTREE;voidSortTreelnsertBTREE**treeBTREE*sif*tree==NULL*tree=s;elseifs->data<*tree->dataSortTreelnsert1s;elseifs->data>=*tree->dataSortTreelnsert2s;voidTraversalTreeBTREE*treeBTREE*stack[1000]*p;inttag[1000]top=0;p=tree;dowhilep!=NULLstack[++top]=p;3;tag[top]=0;/*标记栈顶结点的左子树已进行过后序遍历*/whiletop>0&&4/*栈顶结点的右子树是否被后序遍历过*/p=stack[top--];putcharp->data;iftop>0/*对栈顶结点的右子树进行后序遍历*/5;tag[top]=1;whiletop>0;voidPrintSortTreeBTREE*treeiftree!=NULLprintSortTreetree->left;putchartree->data;pdntSortTreetree->right;mainBTREE*root=NULL*node;charch;ch=getchar;whilech!=’#’node=BTREE*mallocsizeofBTREE;node->data=ch;node->left=node->right=NULL;SortTreelnsert&rootnode;ch=getchar;PrintSortTreeroot;putchar’/n’;TraversalTreeroot;
阅读下列说明图和Java代码将应填入n处的字句写在答题纸的对应栏内[说明]已知对某载客车辆Car进行类建模如图6-1所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客[Java代码]classBody//此处代码省略;//车身类classPassenger//此处代码省略;//乘客类classWheel//此处代码省略;//车轮类classDriver//司机类publicStringname;//表示第几路公交车司机publicDriverStringdriverNamename=driverName;//构造函数;classEngine//引擎类publicStringengineNo;//引擎编号publicEngineStringengineNothis.engineNo=engineNo;//构造函数;publicclassCar//汽车类staticfinalint1=7;//定义最多载客数staticfinalintMAXWHEELS=5;//定义最多轮胎数protectedEngineengine;protectedDriverdriver;protectedBodybody=newBody;protectedWheel[]wheels;protectedPassenger[]passengers;publicCarDriverdriver//构造函数2.driver=driver;engine=newEngineTX6536型号引擎;wheels=newWheel[MAXWHEELS];passengers=newPassenger[MAX_PASSENGERS];forintindex=0;index<MAX_WHEELS;index++wheels[index]=newWheel;forintindex=0;index<MAX_PASSENGERS;index++passengers[index]=null;intgetPassengerNumber//获取车上乘客数量//此处代码省略return0;voidgetOnPassengerPassengeraPassenger//乘客上车//此处代码省略voidrun//开车if3System.out.println司机尚未上车!;return;//此处代码省略publicstaticvoidmainStringargs[]Driverdriver=newDriver第五路公交车司机;Carcar=newCar4;forintindex=0;index<MAX_PASSENGERS;index++car.getOnPassenger5Passenger;car.run;
【Java代码】classusethreadimplements1intnumusethreadintnnum=n;publicvoid2forinti=0;i<3;i++System.out.printlnrunning:+num;System.out.printlnfinished:+num;publicclassmulthreadpublicstaticvoidmainStringargs[]3InterruptedExceptionThreadm1=newThreadnewusethread1;Threadm2=newThreadnewusethread2;m1.start;m2.start;m1.join;m2.join;【问题1】补充完整上面Java代码中n处【问题2】写出上面Java代码运行的结果
阅读下列说明图和C++代码将应填入n处的字句写在答题纸的对应栏内[说明]已知对某载客车辆Car进行类建模如图5-1所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客[C++代码]constint1=7;//定义最多载客数constintMAXWHEELS=5;//定义最多轮胎数classBody//此处代码省略;//车身类classPassenger//此处代码省略;//乘客类classWheel//此处代码省略;//车轮类classDriver//司机类public:stringname//表示第几路公交车司机DriverstringdriverName:name2;//构造函数;classEngine//引擎类public:stringengineNo;//引擎编号EnginestringengineNo3->engineNo=engineNo;//构造函数;classCar//汽车类protected:Engine*engine;Driver*driver;Bodybody;Wheel*wheels[MAX_HEELS];Passenger*passengers[MAX_PASSENGERS];public:CarDriver*driver//构造函数this->driver=driver;engine=newEngineTX6536型号引擎;intindex;forindex=0;index<MAX_HEELS;index++wheels[index]=newWheel;forindex=0;index<MAX_PASSENGERS;index++passengers[index]=NULL;virtual~Car//析构函数forintindex=0;index<MAX_WHEELS;index++deletewheels[index];delete4;intgetPassengerNumber//获取车上乘客数量//此处代码省略voidgetOnPassengerPassenger*aPassenger//乘客上车//此处代码省略voidrun//开车ifdriver==NULLcout<<司机尚未上车!;return;//此处代码省略voidmainDriverdriver第五路公交车司机;Carcar5;Passengerpassengers[MAX_PASSENGERS];forintindex=0;index<MAXPASSENGERS;index++//乘客上车处理car.getOnPassenger&passengers[index];car.run;
【说明】本程序的功能是实现任意两个大整数的乘法运算例如输入整数18934793850094505800243958034985058输入整数2234584950989689084095803583095820923二者之积2095968177427395080509788907376756623664334642568309591948348548768534【C++代码】#include<iostream.h>constintMAXINPUTBIT=100;constintMAXRESULTBIT=500;classLargeNumberintij;inttemp;intone[MAXINPUTBIT+1];intonebit;//one的位数inttwo[MAXINPUTBIT+1];inttwobit;//two的位数intresult[MAXRESULTBIT+1];public:LargeNumber;~LargeNumber;intinputone;//出错返叫0否则返回1intinputtwo;//同上voidmultiplication;//乘voidclearresult;//清零voidshowresult;//显示;LargeNumber∷LargeNumberfori=0;i<=MAXINPUTBIT;i++one[i]=0;two[i]=0;onebit=0;twobit=0;inputone;inputtwo;LargeNumber∷~LargeNumberintLargeNumber∷inputonecharNumber[MAXINPUTBIT+1];cout<<Pleaseenterone:;cin>>Number;i=0;j=MAXINPUTBIT;whileNumber[i]!=’/0’i++;onebit=i;fori--;i>=0;i--j--ifintNumber[i]>=48&&intNumber[i]<=571;//由字符转换为数字elsereturn0;return1;intLargeNumber∷inputtwocharNumber[MAXINPUTBIT+1];cout<<Pleaseentertwo:;cin>>Number;i=0;j=MAXINPUTBIT;whileNumber[i]!=’/0’i++;twobit=i;fori--;i>=0;i--j--ifintNumber[i]>=48&&intNumber[i]<=57two[j]=intNumber[i]-48;//由字符转换为数字elsereturn0;return1;voidLargeNumber∷multiplication//乘法clearresult;intm;fori=MAXINPUTBIT;i>=0;i--temp=two[i];forj=2m=MAXINPUTBIT;m>=0;m--j--result[j]+=temp*one[m];ifresult[j]>9result[j-1]+=result[j]/10;3;cout<<one*two=;showresult;voidLargeNumber∷showresulti=0;whileresult[i]==0&&i<=MAXRESULTBITi++;ifi>MAXRESULTBITcout<<0;//输出0for;i<=MAXRESULTBIT;i++cout<<4;cout<<endl;voidLargeNumber∷clearresultfori=0;i<=MAXRESULTBIT;i++5;voidmainLargeNumbera;a.multiplication;
【说明】IC卡和200卡都是从电话卡派生的下面的程序将电话卡定义为抽象类其中balance为双精度变量代表电话卡中的余额cardNumber是长整型变量代表电话卡的卡号password是整型变量代表电话卡的密码connectNumber是字符串变量代表电话卡的接入号码connected是布尔变量代表电话是否接通performDial实现各种电话接通后的扣除费用的操作其中200卡每次通话扣除0.5元的通话费用和附加费用IC卡每次通话扣除0.9元的通话费TimeLeft方法用于测试电话卡余额还可以拨打电话的次数performConnection用于电话接入操作如果卡号和密码正确则接通否则接不通【程序】abstractclassPhoneCarddoubtebalace;1perfermDial;doublegetBalancereturnbalance;doubleTimeLeftdoublecurrent=balance;inttimes=0;do2times++;whitebalance>=0;balance=current;returntimes-1;abstractclassNumber_PhoneCardextendsPhoneCardlongcardNumber:intpassword;StringconnectNumber;Booleanconnected;BooleanperformConnectionlongcnintpwifcn==cardNumber&&3connected=true;returntrue;elsereturnfalse;classICCard4booleanperformDialifbalance>0.9balance-=0.9;returntrue;elsereturnfalse;classD200_Card4staticdoubleadditoryFee;staticadditoryFee=0.1;booleanperformDialifbalance>05+additeryFee5returntrue;elsereturnfalse;
阅读以下说明和C语言函数将应填入n处的字句写在答题纸的对应栏内[说明]一棵非空二叉树中最左下结点定义为若树根的左子树为空则树根为最左下结点否则从树根的左子树根出发沿结点的左孩子分支向下查找直到某个结点不存在左孩子时为止该结点即为此二叉树的最左下结点例如下图所示的以A为根的二叉树的最左下结点为D以C为根的子二叉树中的最左下结点为C二叉树的结点类型定义如下typedefstructBSTNodeintdatastructBSTNode*1ch*rch;/*结点的左右孩子指针*/*BSTree;函数BSTreeFind_DelBSTreeroot的功能是若root指向一棵二叉树的根结点则找出该结点的右子树上的最左下结点*p并从树下删除以*p为根的子树函数返回被册除子树的根结点指针若该树根的右子树上不存在最左下结点则返回空指针[函数]BSTreeFind_DelBSTreerootBSTreeppre;if!rootreturnNULL;/*root指向的二叉树为空树*/1;/*令p指向根结点的右子树*/if!preturnNULL;2;/*设置pre的初值*/whilep->1chpre=p;p=3;if4==root/*root的右子树根为最左下结点*/pre->rch=NULL;else5=NULL;/*删除以最左下结点为根的子树*/returnp;
阅读以下说明和C函数将应填入n处的字句写在答题纸的对应栏内[说明]某单位准备进行一次选举对指定的n名n<80候选人进行投票为了简化选举工作事先印制了写有这n名候选人姓名的选票投票者只需将选中者名下的圆圈涂黑即可规定每张选票上被涂黑的圆圈数不得超过3个也不得少于1个否则视为无效选票投票结束后所有选票经计算机扫描处理形成了描述选票状态的文本文件例如n=8时所形成的文件如下010110001001010010011000111111110000000000111000其中每行表示一张选票的数据每列代表一位候选者的得票情况第i行第j列为1表示第i张选票上投了第j名候选人1票函数statistic的功能是读入选票数据并统计每位候选者的得票数函数返回有效选票数[C语言函数]intstatisticFILE*fpintcandidate[]intn/*从文件中读入选票数据n为候选人数量n<80从有效选票中统计每位候选者的得票数并存入candidate[]函数返回有效选票数*/charstr[80];/*str保存读入的一张选票数据*/intitag=0;/*tag用于判断每张选票是否有效*/intq=0;/*q用于计算有效选票数*/fori=0;i<n;i++candidate[i]=0while1fgetsstr80fp;/*读入一张选票数据*/fortag=0i=0;2;i++ifstr[i]==’1’tag++;if3/*若是有效选票则进行统计*/4;fori=0;i<n;i++ifstr[i]==’1’5;returnq;/*statistic*/
阅读下列说明图和Java代码将应填入n处的字句写在答题纸的对应栏内[说明]已知对某载客车辆Car进行类建模如图6-1所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客[Java代码]classBody//此处代码省略;//车身类classPassenger//此处代码省略;//乘客类classWheel//此处代码省略;//车轮类classDriver//司机类publicStringname;//表示第几路公交车司机publicDriverStringdriverNamename=driverName;//构造函数;classEngine//引擎类publicStringengineNo;//引擎编号publicEngineStringengineNothis.engineNo=engineNo;//构造函数;publicclassCar//汽车类staticfinalint1=7;//定义最多载客数staticfinalintMAXWHEELS=5;//定义最多轮胎数protectedEngineengine;protectedDriverdriver;protectedBodybody=newBody;protectedWheel[]wheels;protectedPassenger[]passengers;publicCarDriverdriver//构造函数2.driver=driver;engine=newEngineTX6536型号引擎;wheels=newWheel[MAXWHEELS];passengers=newPassenger[MAX_PASSENGERS];forintindex=0;index<MAX_WHEELS;index++wheels[index]=newWheel;forintindex=0;index<MAX_PASSENGERS;index++passengers[index]=null;intgetPassengerNumber//获取车上乘客数量//此处代码省略return0;voidgetOnPassengerPassengeraPassenger//乘客上车//此处代码省略voidrun//开车if3System.out.println司机尚未上车!;return;//此处代码省略publicstaticvoidmainStringargs[]Driverdriver=newDriver第五路公交车司机;Carcar=newCar4;forintindex=0;index<MAX_PASSENGERS;index++car.getOnPassenger5Passenger;car.run;
阅读以下函数说明和C语言函数将应填入n的字句写在答题纸的对应栏内[说明1]函数intfun1intmintn的功能是计算并返回正整数m和n的最大公约数[函数1]intfun1intmintnwhile1ifm>nm=m-n;elsen=n-m;2;[说明2]函数longfun2char*str的功能是自左至右顺序取出非空字符串str中的数字字符形成一个十进制整数最多8位例如若字符串str的值为f3g8d5.ji2e3p12fkp则函数返回值为3852312[函数2]longfun2char*strinti=0;longk=0;char*p=str;while*p!=’\0’&&3if*p>=’0’&&*p<=’9’k=4+*p-’0’;++i;5;returnk;
阅读下列说明图和Java代码将应填入n处的字句写在答题纸的对应栏内[说明]已知对某载客车辆Car进行类建模如图6-1所示其中类Engine表示发动机引擎类Wheel表示车轮类Body表示车身类Driver表示司机类Passenger表示乘客[Java代码]classBody//此处代码省略;//车身类classPassenger//此处代码省略;//乘客类classWheel//此处代码省略;//车轮类classDriver//司机类publicStringname;//表示第几路公交车司机publicDriverStringdriverNamename=driverName;//构造函数;classEngine//引擎类publicStringengineNo;//引擎编号publicEngineStringengineNothis.engineNo=engineNo;//构造函数;publicclassCar//汽车类staticfinalint1=7;//定义最多载客数staticfinalintMAXWHEELS=5;//定义最多轮胎数protectedEngineengine;protectedDriverdriver;protectedBodybody=newBody;protectedWheel[]wheels;protectedPassenger[]passengers;publicCarDriverdriver//构造函数2.driver=driver;engine=newEngineTX6536型号引擎;wheels=newWheel[MAXWHEELS];passengers=newPassenger[MAX_PASSENGERS];forintindex=0;index<MAX_WHEELS;index++wheels[index]=newWheel;forintindex=0;index<MAX_PASSENGERS;index++passengers[index]=null;intgetPassengerNumber//获取车上乘客数量//此处代码省略return0;voidgetOnPassengerPassengeraPassenger//乘客上车//此处代码省略voidrun//开车if3System.out.println司机尚未上车!;return;//此处代码省略publicstaticvoidmainStringargs[]Driverdriver=newDriver第五路公交车司机;Carcar=newCar4;forintindex=0;index<MAX_PASSENGERS;index++car.getOnPassenger5Passenger;car.run;
阅读以下说明和流程图填补流程图中的空缺1~9将解答填入对应栏内[说明]假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779[流程图]
【说明】著名的四色定理指出任何平面区域均可以用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==4if*ip<=0return0:--*ip;c=1;color[*ip]=-1;returnc;/*检查区域i考查c种颜色的可能性*/intcolorOKihtiintcintadj[][N]intcolor[]intj;forj=0;j<i;j++if2return0;return1;/*为区域i选一种可着的颜色*/intselectintiintcintadj[][N]intcolor[]/*寻找各种着色方案adj[i][j]=1表示区域i与区域j不相邻*/intk;fork=c;k<=4;k++/*4种颜色*/ifcolorOK3returnk;return0;intcoloringintadj[][N]intcolor[N]iccnt;fori=0;i<N;i++color[i]=-1:i=c=0;cnt=0;while1[ifc=4==0c=back&icolor;ifc==0returncnt;else5;i++;ifi==Noutputcolor;++cnt;c=back&icolor;elsec=0;voidmainintadj[N][N]=0101111111101101111001010110111110110011100101000011111010011110010010110000001111110011011011010110;printf共有%d组解./ncoloringadj;
阅读以下说明和流程图填补流程图中的空缺1~9将解答填入对应栏内[说明]假设数组A中的各元素A1A2AM已经按从小到大排序M≥1数组B中的各元素B1B2BN也已经按从小到大排序N≥1执行下面的流程图后可以将数组A与数组B中所有的元素全都存入数组C中且按从小到大排序注意序列中相同的数全部保留并不计排列顺序例如设数组A中有元素25679数组B中有元素2347则数组C中将有元素223456779[流程图]
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术