首页
试卷库
试题库
当前位置:
X题卡
>
所有题目
>
题目详情
[说明] 函数diff的功能是:根据两个由整数(都大于-32768)按升序构成的单链表L1和L2(分别由A,B指向)构造一个单链表L3(由*r指向),要求L3中的所有整数都是L1并且不是L2中的整数...
查看本题答案
包含此试题的试卷
初级程序员《填空集》真题及答案
点击查看
你可能感兴趣的试题
定义平面内横坐标为整数的点称为左整点过函数图象上任意两个左整点作直线则倾斜角大于45°的直线条数为
10
11
12
13
如右图一个正方体的表面上分别写着连续的6个整数且每两个相对面上的两个数的和都相等则这6个整数的和为
53
52
51
50
一个正方体六个面上分别写着六个连续整数且每两个相对面上的两个数的和都相等如图所示能看到的所写的数为1
有下面3个结论:①存在两个不同的无理数它们的积是整数②存在两个不同的无理数它们的差是整数③存在两个不
已知正比例函数y=kxk≠0的图象与反比例函数m≠0的图象都经过点A.42⑴求这两个函数解析式⑵这两
关于内部收益率IRR以下说明正确的是
当IRR大于最低可接受的收益率时,项目可以采纳
当两个IRR都大于最低可接受的收益率,最好选最大的IRR
当两个IRR都大于最低可接受的收益率,最好选最小的IRR
当两个IRR都大于最低可接受的收益率,视NPV而定
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]函数voiddiffNode*AN
阅读以下函数说明和C语言函数将应填入n处的字句写在对应栏内[说明]函数voiddiffNode*AN
试题四阅读以下说明和C函数填充函数中的空缺将解答填入答题纸的对应栏内 [说明]已知两个整数数组A和
【说明】 函数diff的功能是根据两个由整数都大于-32768按升序构成的单链表L1和L2分别由A
【说明】函数diff的功能是根据两个由整数都大于-32768按升序构成的单链表L1和L2分别由AB指
有下面3个结论:①存在两个不同的无理数它们的积是整数②存在两个不同的无理数它们的差是整数③存在两个不
规定[x]表示不大于x的最大整数x表示不小于x的最小整数[x表示最接近x的整数x≠n+0.5n为整数
若函数有两个不同的零点且那么在两个函数值中
至多有一个小于1
至少有一个小于1
都小于1
都大于1
输入两个整数调用函数stu求两个数差的平方返回主函数显示结果
阅读以下说明和C程序将应填入__n__处的字句写在答题纸的对应栏内 【说明】某旅游服务应用程序运行
查找两个文件不同之处的命令为
diff
comm
distinguish
cmp
有下面3个结论:①存在两个不同的无理数它们的积是整数②存在两个不同的无理数它们的差是整数③存在两个不
整数的加减指令的功能是将两个8位的整数相加减得到一个8位的整数结 果
电路中两节点间的电压高说明
这两个节点的电位都高
这两个节点的电位一定大于零
这两个节点的电位都低
这两个节点的电位差大
热门试题
更多
[说明]如图8-7所示的流程图用于从数组K中找出一切满足KI+KJ=M的元素对KIKJ1≤I≤J≤N假定数组K中的N个不同的整数已按由小到大的顺序进行排列M是给定的常数[流程图]在如图8-7所示的流程图中比较KI+KJ=M最少执行次数约为______
[说明]从文件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
[说明]函数DelXInsYLinkedListLxLinkedListLyintkey1intkey2intlen的功能是将线性表X中关键码为key1的结点开始的len个结点按原顺序移至线性表Y中关键码为key2的结点之前若移动成功则返回0否则返回-1线性表的存储结构为带头结点的单链表Lx为表X的头指针Ly为表Y的头指针单链表结点的类型定义如下typedefstructnodeintkey;structnode*next;*LinkedList;[C程序代码]
[说明]将一正整数序列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;
[说明]这个是一个链接存储线性表的直接插入排序函数把未排序序列中的第一个结点插到已排序序列中排序完毕链表中的结点按结点值由小到大链接[函数]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;
[函数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;
[说明2]有两个进程编号分别为0和1需要访问同一个共享资源为了解决竞争条件racecondition的问题需要实现一种互斥机制使得在任何时刻只能有一个进程访问该共享资源以下[C程序代码2]给出了一种实现方法[C程序代码2]intflag[2];/*flaq数组初始化为FALSE*/Enter_Critical_Sectionintmy_task_idintother_task_idwhileflag[other_task_id]==TRUE;/*空循环语句*/flag[my_task_id]=TRUE;Exit_Critical_Sectionintmy_task_idintother_task_idflag[my_taskid]=FALSE;当一个进程要访问临界资源时就可以调用[C程序代码2]给出的这两个函数[C程序代码3]给出了进程0的一个例子[C程序代码3]Enter_Critical_Section01;使用这个资源Exit_Critical_Section01;做其他的事情[C程序代码2]采用了一种繁忙等待busywaiting的策略这种策略的主要缺点是什么请用100字以内的文字简要说明
[流程图说明]下列流程图用泰勒Taylor展开式sinx=x-x3/3!+x5/5!-x7/7!++-1n*x2n+1/2n+1!+计算并打印sinx的近似值其中用ε>0表示误差要求[流程图]
[说明]函数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;
[说明]某绘图系统存在PointLine和Square3种图元它们具有Shape接口图元的类图关系如图8-5所示现要将Circle图元加入此绘图系统以实现功能扩充已知某第三方库已经提供了XCircle类且完全满足系统新增的Circle图元所需的功能但XCircle不是由Shape派生而来的它提供的接口不被系统直接使用[C++代码1]既使用了Xcircle又遵循了Shape规定的接口既避免了从头开发一个新的Circle类又可以不修改绘图系统中已经定义的接口[C++代码2]根据用户指定的参数生成特定的图元实例并对其进行显示操作该绘图系统定义的接口与XCircle提供的显示接口及其功能如表8-2所示[C++程序代码1]classCircle:public1Private:2m_circle;public:voiddisplaym_circle.3;[C++程序代码2]classFactorypublic:4getShapeInstanceinttype//生成特定类实例switchtypecase0:returnnewPoint;case1:returnnewRectangle;case2:returnnewLine;case3:returnnewCircle;default:returnNULL;;voidmainintargcchar*argv[]ifargc!=2cout<<errorparameters!<<end1;return;inttype=atoiargv[1]:Factoryfactory;Shape*s;s=factory.5;ifs==NULLcout<<Errorgettheinstance!<<end1;return;s->display;6;return;
[说明]某绘图系统中有两个画矩形的程序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//省略具体实现
[说明2][C程序代码2]是能求得背包问题的一组解的递归算法程序背包问题的基本描述是有一个背包能盛放的物品总重量为S设有Ⅳ件物品其重量分别为W1W2Wn希望从N件物品中选择若干件物品所选物品的重量之和恰能放入该背包中即所选物品的重量之和等于S[C程序代码2]BTREE;#include<stdio.h>#defineN7#defineS15intw[N+1]=01434527;intknapintSintnifS==0return1;ifs<0s>0&&n<1return0;if1printf4dw[n];return1;return2;mainifknapSNprintfOK!/n;elseprintfN0!/n;请将[C程序代码2]中空缺处的内容填补完整
[说明]某超市集团为发展业务向社会公开招聘N个工种的工作人员每个工种各有不同的编号1~M和计划招聘人数每位应聘者需申报两个工种并参加集团组织的考试该集团公司将按应聘者的成绩从高分至低分的顺序进行排队录取具体录取原则是从高分到低分依次对每位应聘者先按其第一志愿录取当不能按其第一志愿录取时便将他的成绩扣去5分后重新排队并按其第二志愿考虑录取以下C程序为输出各工种实际招聘的应聘人员每个工种都保留一个录取者的有序队列录取处理循环直至招聘额满或已对全部应聘者都做了录取处理后跳出在C程序中类型STU包含有应聘者的基本信息编号成绩志愿排队成绩和录取志愿号数组rz[]的每个元素对应一个工种包含计划招聘人数和已录取的人数[C程序代码]#include#defineN36#defineEDMARK5typedefstructstuintnototalz[2]sortmzi;structstu*next;STU;structrznodeintlmtcount;STU*next;rz[N];STU*head=NULL*over=NULL;intallFILE*fp;chardataf[]=zp2008.dat;printSTU*pfor;p!=NULL;p=p->nextprintf%d%d/tp->nop->total;insertSTU**pSTU*uSTU*v*q;forq=*p;q!=NULL;v=q1ifq->sortm<u->sortmbreak;ifq==*p2;else3;u->next=q;mainintzninototalz1z2;STU*p*v*q;fp=fopendatafr;iffp==NULLprintfCan’topenfile%s./ndataf;exit0;fscanffp%d&zn;forall=0i=i;i<=zn;i++fscanffp%d&rz[i].imt;rz[i].count=0;rz[i].next=NULL;all+=4;for;;iffscanffp%d%d%d%d&no&total&z1&z2!=4break;p=STU*mallocsizeofSTU;p->no=no;p->total=p->sortm=total;p->zi=0;p->z[0]:z1;p->z[1]=z2;5;fclosefp;for;all&&head!=NULL;p=head;head=head->next;ifrz[p->z[p->zi]].count<6rz[p->z[p->zi]].count++;insert&rz[p->z[p->zi]].nextp;all--;continue;ifp->zi>=1p->next=over;over=p;continue;p->sortm-=DEMARK;7;insert&headp;fori=1;i<=zn;i++printf%d:/ni;printrz[i].next;printf/n;printfover:/n;printhead;printover;printf/n
[说明]设计一个类模板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表示误差要求[流程图]
[说明]从文件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;
[说明]下面的流程图说明的是图的深度遍历它的基本思想是以图中某一结点作为当前结点然后进行以下过程1处理或输出当前结点并记录当前结点的查访标志2若当前结点有后件结点则取第一个后件结点若该后件结点未被查访过则以该后件结点为当前结点用深度遍历法进行查访注定义深度遍历函数为dfsheadkmark;其中head指向图中的第一个结点mark[]为标记数组k用来动态存储图中的结点号下面给出单链表中结点结构和顺序存储空间中结点的结构structnode/*单链表中结点结构*/intnum;/*图中结点编号*/intval;/*求值函数*/structnode*next;/*指针域*/;structgpnode/*顺序存储空间中结点结构*/chardata;/*结点值*/5*link;/*指针域*/;[问题]将流程图及程序中的1~5处补充完整
热门题库
更多
初级程序员
中级软件设计师
初级网络管理员
初级信息处理技术员
中级数据库系统工程师
中级多媒体应用设计师
高级系统分析师
高级网络规划设计师
高级系统架构师
中级信息系统监理师
初级通信工程师
中级通信工程师
通信新技术、新业务知识
无线通信专业技术
移动通信专业技术
有线传输专业技术