第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题_第1页
第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题_第2页
第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题_第3页
第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题_第4页
第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题_第5页
已阅读5页,还剩5页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

资料收集于网络如有侵权请联系网站删除谢谢第二十届全国青少年信息学奥林匹克竞赛初赛

提高组C语言试题、单项选择题(每题1.5分,共22.5分)。以下哪个是面向对象的高级语言 ().汇编语言 B.C++C.FORTRAND.Basic1TB代表的字节数量是().2的10次方B.2的20次方C.2的30次方D.2的40次方二进制数00100100和00010101的和是().00101000B.001010100C.01000101D.00111001TCP协议属于哪一层协议().应用层B.传输层C.网络层D.数据链路层下列几个32位IP地址中,书写错误的是().A.162.105.128.27B.192.168.0.1C.256.256.129.1D.10.0.0.1在无向图中,所有定点的度数之和是边数的 ()倍.A.0.5B.1C.2D.4对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为().A.n/2B.(n+1)/2 C.(n-1)/2D.n/4编译器的主要功能是().将一种高级语言翻译成另一种高级语言将源程序翻译成指令将低级语言翻译成高级语言将源程序重新组合二进制数111.101所对应的十进制数是().A.5.625B.5.5C.6.125D.7.625若有变量inta,floatx,y,且a=7,x=2.5,y=4.7,则表达式x+a%3*(int)(x+y)%2/4的值大约是().A.2.500000B.2.750000C.3.500000D.0.000000有以下结构体说明和变量定义,如图所示,指针 p、q、r分别指向一个链表中的三个续结点。datanextdatanextdatanextfp fq datanextdatanextdatanextfp fq fr同时要保持链表的连续,以下程序段中错误的是intdata; —structnode*next;}*p,*q,*r;现要将q和r所指结点的先后位置交换,().q->next=r->next;p->next=r;r->next=q;p->next=r;q->next=r->next;r->next=q;q->next=r->next;r->next=q;p->next=r;r->next=q;q_>next=r->next;p_>next=r;().G中删去()().G中删去()条边.A.3(n-2)/2 B.4n-2C.3n-2D.2n-2设G是有6个结点的完全图,要得到一颗生成树,需要从A.6B.9C.10D.15以下时间复杂度不是 0(n2)的排序方法是().A.插入排序B.归并排序C.冒泡排序D.选择排序以下程序实现了找第二小元素的算法。输入时n个不等的数构成的数组S,输出S中第二小的数SecondMin。在最坏的情况下,该算法需要做()次比较。if(S[1]<S[2]){FirstMin=S[1];SecondMin=S[2];}else{FirstMin=S[2];SecondMin=S[1];}for(i=3;i<=n;i++)if(S[1]<SecondMin)if(S[1]<FirstMin){SecondMin=FirstMin;FirstMin=S[1];}else{SecondMin=S[1];}A.2nB.n-1C.2n-3D.2n-2二、不定项选择题(每题1.5分,共7.5分)。若逻辑变量A、C为真,B、D为假,以下逻辑运算表达式真的有 ( ).A.(BVCVD)VDAA B.((-AAB)VC)ABC.(AAB)V(CADV-A) D.AA(DV-C)AB下列( )软件属于操作系统软件。MicrosoftWordWindowsXPAndroidMac0SX0racle在N0I比赛中,对于程序设计题,选手提交的答案不得包含下列哪些内容 ( ).试图访问网络打开或创建题目规定的输入 /输出文件之外的其他文件运行其他程序改变文件系统的访问权限读写文件系统的管理信息以下哪些结构可以用来存储图( ).A.邻接矩阵B.栈C.邻接表D.二叉树下列各无符号十进制整数中,能用八位二进制表示的数有( ).A.296B.133C.256D.199资料收集于网络如有侵权请联系网站删除谢谢三、问题求解。有数字1,124,8,8所组成的不同的四位数的个数是 .如图所示,图中每条边上的数字表示该边的长度,则从 A到E的最短距离是 四、阅读程序写结果(共4题,每题8分,共32分)#include<stdio.h>intmain(){inta,b,l,tot,c1,c2;scanf(%d%d”&a,&d);tot=0;for(i=a;i<=b;i++){c仁i/10;c2=i%10;if((c1+c2)%3==0)tot++;}Printf(%d\n",tot);Return0;}输入:7 31输出: #include<stdio.h>Intfun(int n,intminNum,intmaxNum){inttot,i;if(n==0)retuen1;tot=0;for(i=minNum;i<=maxNum;i++)tot+=fun(n-1,i=1,maxNum);returntot;}intmian(){intn,m;Scanf(“%d%d”,&n,&m);printf(“%d\n”,fum(m,1,n));return0;}输入:63输出: #include<stdio.h>#include<string.h>constintSIZE=100;constintLENGTH=25;//strcmp(a,b)<0:a的字典序小于b//strcmp(a,b)=1:a和b一样//strcmp(a,b)>0:a的字典序大于bintmain()chardict[SIZE][LENGTH+1];intrank[SIZE];intind[SIZE];inti,j,n,tmp;scanf(“%d”,&n);for(i=1;i<=n;i++){rank[i]=iind[i]=i;scanf(“%s”,dict[i]);}for(i=1;i<n;i++)for(j=1;j<=n-i;j++)if(strcmp(dict[ind[j]],dict[ind[j+1]])>0){tmp=ind[j];ind[j]=ind[j+1];ind[j+1]=tmp;}for(i=1;i<=n;i++)rank[ind[i]]=i;for(i=1:i<=n;i++)ptintf(%d”,rank[i]);printf(“\n”;)return0;}输入:7aaaababbbaaaaaacccaa输出: #niclude<stdio.h>constintSIZE=100;intalive[SIZE];intn;intnext(intnum){do{num++;if(num>n)num=1;}while(alive[num]==0);returnnum;}intmain(){intm,i,j,num;scanf(“%d%d”,&n,&m);for(i=1;i<=n;i++)alive[i]=1;num=1;for(i=1;i<=n;j++){for(j+1;j<=m;j++)num=next(num);printf(“%d”,num);alive[num]=0;if(i<n)num=next(num);}printf(\n);return0;}输入:113输出: 五、完善程序1.(双栈模拟数组) 只使用两个栈结构stackl和stack2,模拟对数组的随机读取。作为栈结构,stack1和stack2只能访问栈顶(最后一个有效元素)。栈顶指针top1和top2均指向栈顶元素的下一个位置。输入第一行包含的两个整数,分别是数组长度 n和访问次数m,中间用单个空格隔开。第二行包含n个整数,一次歌出数组各项(数组下标从 0到a-1)。第三行包含m个整数,需要访问的数组下标。对于每次访问,输出对应的数组元素。#include<stdio.h>consrintSIZE=100;intstack1[SIZE],stack2[SIZE];精品文档资料收集于网络如有侵权请联系网站删除谢谢inttop1,top2;intn,m,i,j;voidclearStack(){intI;for(i=top1;i<SIZE;i++)stack[i]=0;for(i=top2;i<SIZE;i++)stack[i]=0;}intmain()scanf(%d,%d”&n,&m);for(i=0i<n;i++)scanf(%d”&stack1[i]);top仁 (1) top2= (2) ;for(j=0j<m;j++){scanf(%d”&i);while(i<top1-1){top1--; ;top2++;}while(i>top1-1){top2--; ;top1++;}clearstack();printf(%d\n”,stack1[ (5) ]);}return0;}资料收集于网络如有侵权请联系网站删除谢谢2.(最大矩阵和)给出M行N列的整数矩阵,就最大的子矩阵和(子矩阵不能为空) 。输入第一行包含两个整数M和N,即矩阵的行数和列数。之后M行,每行N个整数,描述整个矩阵。程序最终输出最大的子矩阵和。 (第一空2分,其余3分,共14分)#include<stdio.h>constintSIZE=100;intmatrix[SIZE+1][SIZE+1];introwsum[SIZE+1][SIZE+1]; 〃rowsum[i][j]记录第i行前j个数的和intm,n,i,j,first,last,area,ans;intmain(){scanf(%d%d",&m,&n);for(i=1;i<=m;i++)for(j=1;j<=n;j++)scanf(%d",&matrix[i][j]);TOC\o"1-5"\h\zans=matrix (1) ;for(i=1;i<=m;i++)(21 ;for(i=1;i<=m;i++)for(j=1;j<=n;j++)rowsum[i][j]= (3) ;for(first=1;first<=n;first++)for(last=first;last<=n;last++){(4) ;for(i=1;i<=m;i++){area+= (5) ;if(area>ans)ans=area;if(area<0)area=0;}}printf(%d\n”ans);return0;}、问题求解(共2题,每题4分,共计8分;每题全部答对得4分)1. 102 2. 15 三、阅读程序写结果(共4题,每题8分,共计32分)资料收集于网络如有侵权请联系网站删除谢谢1. 8 2. 20 3.___2563471 4._3691510411827_四、完善程序(共2题,每题10分,共计20分)TOC\o"1-5"\h\z1.(1)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论