第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)
更新时间:2024-01-12 05:19:01 阅读量: 教育文库 文档下载
- 第十七届全国青少年推荐度:
- 相关推荐
第二十届全国青少年信息学奥林匹克竞赛初赛 提高组C语言试题
一、单项选择题(每题1.5分,共22.5分)。 1. 以下哪个是面向对象的高级语言( ).
A. 汇编语言 B. C++ C. FORTRAN D. Basic 2. 1TB代表的字节数量是( ).
A. 2的10次方 B. 2的20次方 C. 2的30次方 D. 2的40次方 3. 二进制数00100100和00010101的和是( ).
A. 00101000 B. 001010100 C. 01000101 D. 00111001 4. TCP协议属于哪一层协议( ).
A. 应用层 B. 传输层 C. 网络层 D. 数据链路层 5. 下列几个32位IP地址中,书写错误的是( ).
A. 162.105.128.27 B. 192.168.0.1 C. 256.256.129.1 D. 10.0.0.1 6. 在无向图中,所有定点的度数之和是边数的( )倍. A. 0.5 B. 1 C. 2 D. 4
7. 对长度位n的有序单链表,若检索每个元素的概率相等,则顺序检索到表中任一元素的平均检索长度为( ).
A. n/2 B. (n+1)/2 C. (n-1)/2 D. n/4 8. 编译器的主要功能是( ).
A. 将一种高级语言翻译成另一种高级语言 B. 将源程序翻译成指令
C. 将低级语言翻译成高级语言 D. 将源程序重新组合
9. 二进制数111.101所对应的十进制数是( ). A. 5.625 B. 5.5 C. 6.125 D. 7.625
10. 若有变量 int a, float x, y, 且 a=7, x=2.5, y=4.7, 则表达式 x+a%3*(int)(x+y)%2/4的值大约是( ).
A. 2.500000 B. 2.750000 C. 3.500000 D. 0.000000
11. 有以下结构体说明和变量定义,如图所示,指针p、q、r分别指向一个链表中的三个续结点。
struct node { data next data next data next int data;
struct node *next; ↑ p ↑ q ↑ r } *p,*q,*r;
现要将q和r所指结点的先后位置交换,同时要保持链表的连续,以下程序段中错误的是( ). A. q->next = r->next; p-> next = r; r->next = q; B. p->next = r; q->next = r->next; r->next = q; C. q->next = r->next; r->next = q; p->next = r; D. r->next = q; q->next = r->next; p->next = r;
12. 同时查找2n 个数中的最大值和最小值,最少比较次数为( ). A. 3(n-2)/2 B. 4n-2 C. 3n-2 D. 2n-2
13. 设G是有6个结点的完全图,要得到一颗生成树,需要从G中删去( )条边.
A. 6 B. 9 C. 10 D. 15
14. 以下时间复杂度不是O(n2)的排序方法是( ).
A. 插入排序 B. 归并排序 C. 冒泡排序 D. 选择排序
15. 以下程序实现了找第二小元素的算法。输入时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. 2n B. n-1 C. 2n-3 D. 2n-2
二、不定项选择题(每题1.5分,共7.5分)。
1. 若逻辑变量A、C为真,B、D为假,以下逻辑运算表达式真的有( ). A. (B∨C∨D)∨D∧A B. ((- A∧B)∨C)∧B C. (A∧B)∨(C∧D∨-A) D. A∧(D∨-C)∧B 2. 下列( )软件属于操作系统软件。 A. Microsoft Word B. Windows XP C. Android D. Mac OS X E. Oracle
3. 在NOI比赛中,对于程序设计题,选手提交的答案不得包含下列哪些内容( ). A. 试图访问网络
B. 打开或创建题目规定的输入/输出文件之外的其他文件 C. 运行其他程序
D. 改变文件系统的访问权限 E. 读写文件系统的管理信息
4. 以下哪些结构可以用来存储图( ).
A. 邻接矩阵 B. 栈 C. 邻接表 D. 二叉树
5. 下列各无符号十进制整数中,能用八位二进制表示的数有( ). A. 296 B. 133 C. 256 D. 199 三、问题求解。
1. 有数字1,1,2,4,8,8所组成的不同的四位数的个数是_____.
2. 如图所示,图中每条边上的数字表示该边的长度,则从A到E的最短距离是_____.
四、阅读程序写结果(共4题,每题8分,共32分)。 1. #include
int a,b,I,tot,c1,c2;
scanf(“%d%d”, &a, &d); tot = 0;
for (i=a; i<=b; i++) {
c1=i/10; c2=i;
if ((c1+c2)%3 ==0) tot++; }
Printf(“%d\\n\Return 0; }
输入:7 31 输出:_________ 2. #include
Int fun(int n, int minNum, int maxNum) { int tot, i; if (n==0) retuen 1; tot=0;
for(i=minNum; i<=maxNum; i++) tot+=fun(n-1, i=1, maxNum); return tot; }
int mian() {int n, m;
Scanf(“%d%d”, &n,&m); printf(“%d\\n”, fum(m,1,n)); return 0; }
输入: 6 3 输出:________ #include
// strcmp(a,b) <0:a的字典序小于b // strcmp(a,b) =1:a和b一样
// strcmp(a,b) >0:a的字典序大于b
int main()
char dict[SIZE][LENGTH+1]; int rank[SIZE]; int ind[SIZE]; int i,j,n,tmp; scanf(“%d”,&n); for (i=1;i<=n;i++) {rank [i]=i ind[i]=i;
scanf(“%s”, dict*i+); }
for(i=1;i 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”); return 0; } 输入: 7 aaa aba bbb aaa aaa ccc aa 输出:______ #niclude int next(int num) {do{ num++; if(num>n) num=1; }while (alive[num]==0); return num; } int main() {int m,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 num=next(num); }printf(\\n); return 0; } 输入: 11 3 输出:_________ 五、完善程序 1.(双栈模拟数组) 只使用两个栈结构stack1和stack2,模拟对数组的随机读取。作为栈结构,stack1和stack2只能访问栈顶(最后一个有效元素)。栈顶指针top1和top2均指向栈顶元素的下一个位置。 输入第一行包含的两个整数,分别是数组长度n和访问次数m,中间用单个空格隔开。 第二行包含n个整数,一次歌出数组各项(数组下标从0到a-1)。第三行包含m个整数,需要访问的数组下标。对于每次访问,输出对应的数组元素。 #include int stack1[SIZE],stack2[SIZE]; int top1,top2; int n,m,i,j; void clearStack() {int I; for(i=top1;i for(i=top2;i int main() scanf(%d,%d”,&n,&m); for(i=0i scanf(“%d”,&stack1*i+); top1=_____(1)______; top2=_______(2)____; for(j=0j scanf(“%d”,&i); while(i (3) ; top2++; } while(i>top1-1){ top2- -; (4) ; top1++; } clearstack(); printf(“%d\\n”,stack1* (5) +); } return 0; } (最大矩阵和)给出M行N列的整数矩阵,就最大的子矩阵和(子矩阵不能为空)。 输入第一行包含两个整数M和N,即矩阵的行数和列数。之后M行,每行N个整数,描述整个矩阵。程序最终输出最大的子矩阵和。(第一空2分,其余3分,共14分) #include int matrix[SIZE+1][SIZE+1]; int rowsum[SIZE+1][SIZE+1]; //rowsum[i][j]记录第i行前j个数的和 int m,n,i,j,first,last,area,ans; int main(){ scanf(“%d %d”,&m,&n); for(i=1;i<=m;i++) for(j=1;j<=n;j++) scanf(“%d”,&matrix*i+*j+); ans=matrix (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); return 0; } 二、问题求解(共2题,每题4分,共计8分;每题全部答对得4分) 1. ________ 102 ___________ 2. ________ 15 ____________ 三、阅读程序写结果(共4题,每题8分,共计32分) 1. _________ 8 __________ 2. __________ 20 __________ 3. ___ 2 5 6 3 4 7 1 ____ 4. _ 3 6 9 1 5 10 4 11 8 2 7 _ 四、完善程序(共2题,每题10分,共计20分) 1. (1) ________________________ n __________________________(2分) (2) _________________________ 0___________________________(2分) (3) _______________ stack2[top2]=stack1[top1] ____________(2分) (4) ______________ stack1[top1]=stack2[top2] _____________(2分) (5) ________________________ top1-1 ______________________(2分) 2. (1) ________________________ [1][1] ______________________(2分) (2) _____________________rowsum[i][0]=0___________________(2分) (3) _____________ rowsum[i][j-1] + matrix[i][j] __________(2分) (4) _________________________area=0 _______________________(2分) (5) ___________ rowsum[i][last]-rowsum[i][first-1] ________(2分)
正在阅读:
第二十届全国青少年信息学奥林匹克竞赛初赛提高组C语言试题(附答案)01-12
西安市大遗址保护的基本做法07-19
福州市仓山小学一年级上册数学期末试卷10-15
学唱古诗文作文350字06-18
江苏教育学院期末考试美学名词解释整理03-13
观察一处景物写一段话05-21
藏历农历公历对照表08-25
化验员考试试题和答案讲述02-02
好玩的耐玩手游2017推荐03-24
【创新设计】2014-2015学年高中英语课时精练:Unit 8 Period 1(北师大版必修三,课标通版)]08-30
- exercise2
- 铅锌矿详查地质设计 - 图文
- 厨余垃圾、餐厨垃圾堆肥系统设计方案
- 陈明珠开题报告
- 化工原理精选例题
- 政府形象宣传册营销案例
- 小学一至三年级语文阅读专项练习题
- 2014.民诉 期末考试 复习题
- 巅峰智业 - 做好顶层设计对建设城市的重要意义
- (三起)冀教版三年级英语上册Unit4 Lesson24练习题及答案
- 2017年实心轮胎现状及发展趋势分析(目录)
- 基于GIS的农用地定级技术研究定稿
- 2017-2022年中国医疗保健市场调查与市场前景预测报告(目录) - 图文
- 作业
- OFDM技术仿真(MATLAB代码) - 图文
- Android工程师笔试题及答案
- 生命密码联合密码
- 空间地上权若干法律问题探究
- 江苏学业水平测试《机械基础》模拟试题
- 选课走班实施方案
- 奥林匹克
- 初赛
- 竞赛
- 青少年
- 试题
- 答案
- 语言
- 提高
- 全国
- 信息
- 二十
- Alcatel-Lucent操作手册
- 年饲养存栏肉羊3500只项目可行性研究报告
- 微机原理 - 第二版 - 课后作业第四章(朱金钧)
- 五年级传统文化计划
- 第五章 业务承接与审计计划
- 浅谈嵌入式系统电源芯片选型与应用
- 四川省双流中学2015-2016学年高二3月月考地理试卷 - 图文
- 报关员例题
- 2002-2011年刑事诉讼法历年真题解析(单项选择)
- DSP的SPI接口
- 第5章 所有者权益变动表分析习题
- 淘宝如何判断虚假交易的
- UNICODE漏洞一
- 变压器差动保护平衡系数设置错误的思考
- 南山区建筑工务局工程变更管理办法
- 质量信得过班组汇报材料 - 图文
- C++课程设计实验报告(一元多项式加减法)
- 河海大学暑期社会实践申报书 - 图文
- 中国民航大学线性代数期末考试试题
- FB41-FB42参数详细说明 S7-300 西门子 - 图文