首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
[说明] 设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子(每粒珠子颜色用字母表示,n粒珠子的颜色由输入的字符串表示)。从环上的某两粒珠子间剪开,则环上珠子形成一个序列然后按以下规则从序列中取走...
查看本题答案
包含此试题的试卷
初级程序员《填空集》真题及答案
点击查看
你可能感兴趣的试题
一个袋中有3张形状大小完全相同的卡片编号为123先任取一张将其编号记为m再从剩下的两张中任取一张将其
一个袋中装有四个形状大小完全相同的球球的编号分别为1234.1从袋中随机取出两个球求取出的球的编号之
已知一个口袋有m个白球n个黑球mnn2这些球除颜色外全部相同现将口袋中的球随机的逐个取出并放入如图所
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]设一个环上有编号为0~n-1的n粒
设对一个n个结点的完全二叉树按序的编号为123n若某结点I≤n-1/2则结点I的右子女为
2i-1
2i
2i+1
I+1
若完全二叉树共有n个结点且从根结点开始按层序每层从左到右用正整数012n-1从小到大对结点编号则对于
若k>0,则该结点的父结点编号为[k/2]([]表示取整)
若2k>n-1,则编号为k的结点无右子树,但可能有左子树
若2k+1<=n-1,则编号为k的结点的右子结点编号为2k+1
若k=0,则该结点肯定没有父结点
1一个袋子中装有四个形状大小完全相同的小球球的编号分别为1234先从袋子中随机取一个球该球的编号为m
一个袋中装有四个形状大小完全相同的球球的编号分别为1234.Ⅰ从袋中随机取出两个球求取出的球的编号之
某人随机地将编号为1234的四个小球放入编号为1234的四个盒子中每个盒子放一个小球全部放完.1求编
设#1=1则N#1就表示程序段号为N1
[说明]设一个环上有编号为0~n-1的n粒颜色不尽相同的珠子每粒珠子颜色用字母表示n粒珠子的颜色由输
在MC指令内使用MC指令叫嵌套有嵌套`结构时嵌套级N的编号顺序增大N0一N1一N2N7
在MC指令内使用MC指令叫嵌套有嵌套`结构时嵌套级N的编号顺序增大N0一N1一N2⋯N7
阅读以下函数说明和C语言函数将应填入____处的字句写在答题纸的对应栏内 设一个环上有编号为0~n-
一个袋中装有四个形状大小完全相同的球球的编号分别为1234.1从袋中随机取出两个球求取出的球的编号之
一个高度为k的满二叉树的结点总数为2h-1从根结点开始向上而下同层次结点从左至右对结点按照顺序依次编
m是n的左孩子
m是n的右孩子
n是m的左孩子
n是m的右孩子
袋内装有6个球这些球依次被编号为1236设编号为n的球重n2-6n+12单位g这些球等可能地从袋里取
袋内装有6个球这些球依次被编号为1236设编号为n的球质量为n2-6n+12单位g如果从这些球中不放
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]设一个环上有编号为0~n-1的n粒
一棵深度为1的满k叉树有如下性质第1层上的结点都是叶子结点其余各层上每个结点都有k棵非空子树如
(n-1) MOD k=O
(n-1) MOD k<>0
n MOD k=0
n MOD k<>0
热门试题
更多
[说明]下面程序定义了一个类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:;
[说明] 设计一个评选优秀教师和学生的程序其类结构如下图所示当输入一系列教师或学生的记录后将优秀学生及教师的姓名列出来 [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; 3处填
[说明]下面的流程图用来完成计算一组数组中的中值其方法是将数组中的一个值与其他值比较并计算大于等于被比较数的数值的个数以及小于等于被比较数的数值的个数如果两数都大于n/2则已经找到了中值否则继续之前的步骤注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明]下面的流程图用来完成计算一组数组中的中值其方法是将数组中的一个值与其他值比较并计算大于等于被比较数的数值的个数以及小于等于被比较数的数值的个数如果两数都大于n/2则已经找到了中值否则继续之前的步骤注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的1~5处补充完整
[说明]本程序实现对指定文件内的单词进行计数其中使用二叉树结构来保存已经读入的不同单词并对相同单词出现的次数进行计数此二叉树的左孩子结点的字符串值小于父结点的字符串值右孩子结点的字符串值大于父结点的字符串值函数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;
[说明] 设计一个评选优秀教师和学生的程序其类结构如下图所示当输入一系列教师或学生的记录后将优秀学生及教师的姓名列出来 [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; 5处填
[说明]设计一程序输入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];<<;
[说明] 本流程图采用“双向冒泡法”实现对数组a[n]的排序双向冒泡法就是在逐步缩小的数组内分别从数组的两端开始向内搜索同时将大数往上浮小数往下沉每次交换一组数flag是一个标志发生过交换就置为1当这个循环过程都不再发生交换时则数组排序完成 注流程中循环开始的说明按照“循环变量循环初值循环终值增量”格式描述; 定义SWAP[ab]为将a和b两数交换 [流程图] [问题] 将流程图的1~5处补充完整 5处填
[说明]本程序实现对指定文件内的单词进行计数其中使用二叉树结构来保存已经读入的不同单词并对相同单词出现的次数进行计数此二叉树的左孩子结点的字符串值小于父结点的字符串值右孩子结点的字符串值大于父结点的字符串值函数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;
[函数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]插入到正确的位置上*/
[函数说明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 5处填
[函数说明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处填
[说明]下面的流程图用来说明如何利用数组求前n个质数要确定一个数m是否是质数可以用已知求出的质数对m的整除性来确定对于任意整数m如果它不能被小于它的质数整除则m也是质数注primes[]是质数表已经求得的质数的个数为pc[问题]将流程图的1~5处补充完整
[说明] 本流程图采用“双向冒泡法”实现对数组a[n]的排序双向冒泡法就是在逐步缩小的数组内分别从数组的两端开始向内搜索同时将大数往上浮小数往下沉每次交换一组数flag是一个标志发生过交换就置为1当这个循环过程都不再发生交换时则数组排序完成 注流程中循环开始的说明按照“循环变量循环初值循环终值增量”格式描述; 定义SWAP[ab]为将a和b两数交换 [流程图] [问题] 将流程图的1~5处补充完整 3处填
[说明]八皇后问题是指求解如何在国际象棋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处补充完整
[说明]下面的流程图用来完成计算一组数组中的中值其方法是将数组中的一个值与其他值比较并计算大于等于被比较数的数值的个数以及小于等于被比较数的数值的个数如果两数都大于n/2则已经找到了中值否则继续之前的步骤注流程中循环开始的说明按照循环变量循环初值循环终值增量格式描述[问题]将流程图的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; 1处填
[说明]设计一程序输入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];<<;
[说明]函数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;
[说明]函数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;
[函数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]插入到正确的位置上*/
[函数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;
[函数说明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;
[说明]设计一程序输入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];<<;
[说明]下面程序定义了一个类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处补充完整
[说明]八皇后问题是指求解如何在国际象棋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
[说明]函数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;
热门题库
更多
中级网络工程师
中级信息系统管理工程师
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术