Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx

上传人:b****5 文档编号:28284367 上传时间:2023-07-10 格式:DOCX 页数:9 大小:17.81KB
下载 相关 举报
Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx_第1页
第1页 / 共9页
Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx_第2页
第2页 / 共9页
Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx_第3页
第3页 / 共9页
Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx_第4页
第4页 / 共9页
Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx_第5页
第5页 / 共9页
点击查看更多>>
下载资源
资源描述

Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx

《Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx》由会员分享,可在线阅读,更多相关《Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx(9页珍藏版)》请在冰豆网上搜索。

Noip初赛提高组C试题及答案完整版noip提高组试题答案.docx

Noip初赛提高组C试题及答案完整版noip提高组试题答案

Noip2021初赛提高组C试题及答案(完整版)2021noip提高组试题答案

Noip20__初赛提高组试题及答案(完整版)提高组C语言试题一、单项选择题(每题1.5分,共22.5分)。

1.

以下哪个是面向对象的高级语言().

A.

汇编语言B.

C++C.

FORTRAND.

Basic2.

1TB代表的字节数量是().

A.

2的10次方B.

2的20次方C.

2的30次方D.

2的40次方3.

二进制数00100100和00001的和是().

A.

00000B.

000100C.

01000D.

001110014.

TCP协议属于哪一层协议().

A.

应用层B.

传输层C.

网络层D.

数据链路层5.

下列几个32位IP地址中,书写错误的是().

A.

162.105.128.27B.

192.168.0.1C.

256.256.129.1D.

10.0.0.16.

在无向图中,所有定点的度数之和是边数的()倍.

A.

0.5B.

1C.

2D.

47.

对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为().

A.

n/2B.

(n+1)/2C.

(n-1)/2D.

n/48.

编译器的主要功能是().

A.

将一种高级语言翻译成另一种高级语言B.

将源程序翻译成指令C.

将低级语言翻译成高级语言D.

将源程序重新组合9.

二进制数111.所对应的十进制数是().

A.

5.625B.

5.5C.

6.125D.

7.62510.

若有变量inta,float_,y,且a=7,_=2.5,y=4.7,则表达式_+a%3_(int)(_+y)%2/4的值大约是().

A.

2.500000B.

2.750000C.

3.500000D.

0.00000011.

有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个续结点。

structnode{datane_tdatane_tdatane_tintdata;structnode_ne_t;↑p↑q↑r}_p,_q,_r;现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是().

A.

q->ne_t=r->ne_t;p->ne_t=r;r->ne_t=q;B.

p->ne_t=r;q->ne_t=r->ne_t;r->ne_t=q;C.

q->ne_t=r->ne_t;r->ne_t=q;p->ne_t=r;D.

r->ne_t=q;q->ne_t=r->ne_t;p->ne_t=r;12.

同时查找2n个数中的最大值和最小值,最少比较次数为().

A.

3(n-2)/2B.

4n-2C.

3n-2D.

2n-213.

设G是有6个结点的完全图,要得到一颗生成树,需要从G中删去()条边.

A.

6B.

9C.

10D.

1514.

以下时间复杂度不是O(n2)的排序方法是().

A.

插入排序B.

归并排序C.

冒泡排序D.

选择排序15.

以下程序实现了找第二小元素的算法。

输入时n个不等的数构成的数组S,输出S中第二小的数SecondMin。

在最坏的情况下,该算法需要做()次比较。

if(S[1]

2nB.

n-1C.

2n-3D.

2n-2二、不定项选择题(每题1.5分,共7.5分)。

1.

若逻辑变量A、C为真,B、D为假,以下逻辑运算表达式真的有().

A.

(B∨C∨D)∨D∧AB.

((-A∧B)∨C)∧BC.

(A∧B)∨(C∧D∨-A)D.

A∧(D∨-C)∧B2.

下列()软件属于操作系统软件。

A.

MicrosoftWordB.

Windows_PC.

AndroidD.

MacOS_E.

Oracle3.

在NOI比赛中,对于程序设计题,选手提交的答案不得包含下列哪些内容().

A.

试图访问网络B.

打开或创建

题目规定的输入/输出文件之外的其他文件C.

运行其他程序D.

改变文件系统的访问权限E.

读写文件系统的管理信息4.

以下哪些结构可以用来存储图().

A.

邻接矩阵B.

栈C.

邻接表D.

二叉树5.

下列各无符号十进制整数中,能用八位二进制表示的数有().

A.

296B.

133C.

256D.

199三、问题求解。

1.

有数字1,1,2,4,8,8所组成的不同的四位数的个数是_____.

2.

如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是_____.

四、阅读程序写结果(共4题,每题8分,共32分)。

1.

#includeintmain{inta,b,I,tot,c1,c2;scanf(“%d%d”,&;a,&;d);tot=0;for(i=a;i<=b;i++){c1=i/10;c2=i%10;if((c1+c2)%3==0)tot++;}Printf(“%d\n“,tot);Return0;}输入:

731输出:

_________

2.

#includeIntfun(intn,intminNum,intma_Num){inttot,i;if(n==0)retuen1;tot=0;for(i=minNum;i<=ma_Num;i++)tot+=fun(n-1,i=1,ma_Num);returntot;}intmian{intn,m;Scanf(“%d%d”,&;n,&;m);printf(“%d\n”,fum(m,1,n));return0;}输入:

63输出:

________

3.

#include#includeconstintSIZE=100;constintLENGTH=25;//strcmp(a,b)<0:

a的字典序小于b//strcmp(a,b)=1:

a和b一样//strcmp(a,b)>0:

a的字典序大于bintmainchardict[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;i0){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输出:

______

4.

#nicludeconstintSIZE=100;intalive[SIZE];intn;intne_t(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=ne_t(num);printf(“%d”,num);alive[num]=0;if(i

113输出:

_________

五、完善程序1.(双栈模拟数组) 只使用两个栈结构stack1和stack2,模拟对数组的随机读取。

作为栈结构,stack1和stack2只能访问栈顶(最后一个有效元素)。

栈顶指针top1和top2均指向栈顶元素的下一个位置。

输入第一行包含的两个整数,分别是数组长度n和访问次数m,中间用单个空格隔开。

第二行包含n个整数,一次歌出数组各项(数组下标从0到a-1)。

第三行包含m个整数,需要访问的数组下标。

对于每次访问,输出对应的数组元素。

#includeconsrintSIZE=100;intstack1[SIZE],stack2[SIZE];inttop1,top2;intn,m,i,j;voidclearStack{intI;for(i=top1;i

(1)______;top2=_______

(2)____;for(j=0jtop1-1){top2--;(4);top1++;}clearstack;printf(“%d\n”,stack1[(5)]);}return0;}2.

(最大矩阵和)给出M行N列的整数矩阵,就最大的子矩阵和(子矩阵不能为空)。

输入第一行包含两个整数M和N,即矩阵的行数和列数。

之后M行,每行N个整数,描述整个矩阵。

程序最终输出最大的子矩阵和。

(第一空2分,其余3分,共14分)#includeconstintSIZE=100;intmatri_[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”,&;matri_[i][j]);ans=matri_

(1);for(i=1;i<=m;i++)

(2);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;}Noip20__初赛提高组C语言试题参考答案一、单项选择题(共15题,每题1.5分,共计22.5分)12345678BDDBCCBB9101112131415DADCCBC二、不定项选择题(共5题,每题1.5分,共计7.5分;每题有一个或多个正确选项,没有部分分)12345ABBCDABCDEACBD三、问题求解(共2题,每题5分,共计10分;每题全部答对得5分,没有部分分)1.

________

102___________  2.

________

15____________

四、阅读程序写结果(共4题,每题8分,共计32分)1.

_________

8__________

2.

__________

20__________

3.

___

2563471____

4.

_

3691510411827_

五、完善程序(共计28分)1.

(1)________________________

n________________________(2.5分)

(2)_________________________

0_________________________(2.5分)(3)_______________

stack2[top2]=stack1[top1]____________(3分)(4)______________

stack1[top1]=stack2[top2]_____________(3分)(5)________________________

top1-1______________________(3分)2.

(1)________________________

[1][1]______________________(2分)

(2)_____________________rowsum[i][0]=0___________________(3分)(3)_____________

rowsum[i][j-1]+matri_[i][j]__________(3分)(4)_________________________area=0_______________________(3分)(5)___________

rowsum[i][last]-rowsum[i][first-1]________(3分)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 医药卫生 > 基础医学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1