tceic.com
简单学习网 让学习变简单
当前位置:首页 >> 学科竞赛 >>

NOIP初赛模拟题5C++


初赛模拟题 5

(初中组 C/C++语言,两小时完成) 一、选择题: (每题 1.5 分,共计 30 分。每题有 4 个选项,前 10 题为单选题,后 10 题为不 定项选择题,全部选对才得分) 。 1. 二进制数 11011011 的十进制值是( ) A. 202 B. 219 C. 193 D. 209 2. 我国研制的天河 II 号的超级计算机通过基准

程序的测试,其峰值速度是( ) A. 8 亿亿次 B. 5.49 亿亿次 C. 6 亿亿次 D. 150 亿次 3. 程序段如下: for (i=1;i<=5;i++) for (j=2;j<=i;j++) cout<<‘*’; 输出’*’的个数是( ) A. 5 B. 10 C. 15 D. 25 4. 设待排序的记录为(49,38,65,97,76, 13,27 , 49, 55, 4) ,经过下过程将序列 排序 第一趟:13, 27, 49, 55, 4, 49, 38, 65, 97, 76 第二趟:13, 4, 49, 38, 27, 49, 55, 65, 97, 76 第三趟:4, 13, 27, 38, 49, 49, 55, 65, 76, 97 问它所用的方法是:( ) A. 冒泡排序 B. 直接选择排序 C. 直接插入排序 D. 希尔排序 5. 设无向树 T 有 7 片树叶,其余顶点度均为 3,则 T 中 3 度顶点有多少个( ) A. 5 B. 7 C. 9 D. 4 6. 设连通图 G 的顶点数和边数与一立方体相同, 即有 8 个顶点和 12 条边。 任意一棵 G 的生 成树的总边数为( ) A.7 B. 8 C. 9 D. 10 7. 设有两个散列函数 h1(k)=k mod 13 和 h2(k)=k mod 11 +1,散列表为 T[0?12],用二 次散列法解决冲突。函数 h1 用来计算散列地址,当发生冲突时,h2 作为计算下一个探 测地址的地址增量。假定某一时刻散列表的状态为: 0 1 2 3 4 5 6 7 8 9 10 11 12 80 44 35 下一个被插入的关键码为 57,其插入的位置为( )。 A. 5 B.6 C.7 D. 8 请根据下面是一段 C/C++程序,判断第 8、9 题。 for(h=1;h<=n-1;h++){ x =A[h+1]; k =h; while (k>=1&&A[k]>x) { A[k+1] =A[k]; k=k–1; } A[k+1]=x; } 8. 假设在程序开始执行时,数组 A[n]是一组随机整数。下列答案中,哪一个最好的描述了 最差情况下的程序排序的时间复杂度?( )
1

初赛模拟题 5

A. O(n log2 n) B. O(n) C. O(log2n) D. O(n ) 9. 假设在程序开始执行时,数组 A[1?n]是按关键字非递减有序排列时,下列答案中,哪 一个最好的描述了最好情况下的程序排序的时间复杂度?( ) 2 A. O(n log2 n) B. O(n) C. O(log2n) D. O(n ) 10.对下列四个序列用快速排序方法进行排序,以序列的第一个元素为划分的基准,在第一 趟划分过程中,元素的移动数最多的是哪一个序列( ) A. 70 , 65 , 34 , 82 , 53 , 25 , 90 B. 82 , 53 , 25 , 70 , 65 , 34 , 90 C. 53 , 25 , 65 , 70 , 34 , 90 , 82 D. 65 , 34 , 82 , 70 , 25 , 53 , 90 11. 将一棵有 100 个结点的完全二叉树从根这一层开始, 每层上从左到右依次对结点进行编 号,根结点的编号 1,则编号为 49 的结点的左孩子编号为( ) A.98 B.99 C.50 D.48 12.下面关于计算机的说法正确的是( ) A. 微机内存容量的基本计量单位是位 10 B. 二进制数中右起第 10 位上的 1 相当于 2 C. CPU 每执行一个指令,就完成一步基本运算或判断 D. 32 位的计算机中的“32”指的是字长 13.为什么说 C 是“高级语言”中的“低级语言”,是因为它( ) A. 必须在性能较高的机器上运行 B. 离机器的硬件较近 C. 开发的时间较长 D. 程序的性能较差 14.以下数据结构中,哪一个不是线性结构?( ) A.广义表 B. 二叉树 C. 串 D. 队列 15.在下面关于计算机系统硬件的说法中正确的是( ) A. 没有外部设备的计算机称为祼机 B. 当关闭计算机电源后,ROM 中的程序和数据就消失了 C. 软盘和硬盘上的数据均可由 CPU 直接存取 D. CPU 主要由运算器、控制器和寄存器组成 16. 下面关于算法的不正确说法是( ) A. 算法必须有输出 B. 算法必须在计算机上用某种语言实现 C. 算法不一定有输入 D. 算法必须在有限步执行后能结束 17.以下关于结构化程序的说法中,正确的是( ) A. 结构化程序是由单入口,单出口和循环三种结构组成 B. 结构化程序是出顺序、单入中和单出口三种结构组成 C. 结构化程序是由顺序、循环和 GOTO 语句结构组成 D. 结构化程序是由顺序、循环和分支三种结构组成 18.栈 S 最多能容纳 4 个元素。现有 6 个元素按 1,2,3,4,5,6 的顺序进栈,问下列哪一 个序列是可能的出栈序列?( ) A. 5,4,3,2,1,6 B. 3, 2, 5, 4, 1, 6
2

2

初赛模拟题 5

C. 2, 3, 5, 6, 1, 4 D. 1, 4, 6, 5, 2, 3 19.下列排序算法中,哪些排序是不稳定的( ) A.快速排序 B. 基数排序 C. 冒泡排序 D.选择排序 20.下列说法不正确的是( ) A. 解释程序是接受参数,按照某一样板产生机器语言的计算机程序 B. 连接程序可以把经编译程序产生的目标程序变成可执行的机器语言程序 C. 就执行速度而言,编译程序比解释程序快 D. C 通常是先编译后执行 二、问题求解题(每题 5 分,共计 10 分) 1. 由四个结点可以构造多少种不同的二叉树 . 2. 下图是一个设想有 11 项活动的活动网。其中有 9 个事件 V1,V2,? V9,每个事件表示 在它之前的活动已经完成,在它之后的活动可以开始。V1 表示整个工程的开始,V9 表示 结束,与每个活动相联系的数 ax(x=1?11)是执行该活动所需的时间(单位:天) 。问完 成整项工程至少需要 天,影响工程进度的关键活动有哪些: 。 V2 V1 V3 V4 V6 V5 V8 V7 V9

三、程序阅读理解题 (每题 8 分,共计 32 分) 1. #include<iostream> using namespace std; int main() { int p,i,j,k; i=2;j=0;k=1; do { i++; p=j+k; j=k; k=p; }while(i<12); cout<<p<<endl; return 0; } 2. #include<iostream> #include<Cstring> using namespace std;
3

初赛模拟题 5

int a[100]; int f(int n) { int i; if(a[n-1]>0) i=a[n-1]; else i=f(n-1); if(a[n-2]>0) i=i+a[n-2]; else i=i+f(n-2); a[n]=i; return i; } int main() { int n; memset(a,0,sizeof(a)); a[0]=1; a[1]=2; cout<<f(8)<<endl; return 0; } 3. #include<iostream> #include<Cstring> using namespace std; int main() { int a[100],i,t,s,j; memset(a,0,sizeof(a)); a[0]=1; t=0; for(i=1;i<=5;i++) { s=0; for(j=0;j<i;j++) s=s+a[j]; a[i]=s+1; } for(i=0;i<6;i++) t=t+a[i]; cout<<t<<endl; return 0; } 4. 输入 8 9 -1 24 6 5 11 15 -28 9
4

初赛模拟题 5

#include<iostream> #include<Cstring> using namespace std; int main() { int i,s,max,a[10]; memset(a,0,sizeof(a)); for(i=0;i<10;i++) cin>>a[i]; max=a[0]; s=a[0]; for(i=1;i<10;i++) { if(s<0) s=0; else s=s+a[i]; if(s>max) max=s; } cout<<max<<endl; return 0; } 四、程序完善题 (每题 14 分,共计 28 分) 1.n×n 方阵的每行每列都是自然数 1..n 的一个全排列,每行(列)无重复数字。 例: n=5 时, 1 4 3 2 5 5 3 2 1 4 4 2 1 5 3 3 1 5 4 2 2 5 4 3 1 输入 n(>=2)和第一行数字(不检查错误) 输出 一个满足要求的方阵 因为只是要求每行(列)无重复数字,对第一行的每个数字,都四十五度斜向下写,写到行 尽头就从行开头开始。这样就不会重复。 对于经过第 y 行,第 x 列的直线,斜率 k=1 设:y=x+b 代入坐标,得出:b=y-x 令 y=1,取首行的数:x=y-b x 从 1 开始,到 n,如果 x 为 0 或负数,则 x=x+n,取出第一行的数。 程序只用一维数组,存第一行的数字。 #include<iostream> #include<Cstring> #include<stdlib.h> using namespace std; #define N 10000
5

初赛模拟题 5

int a[N],x,y,n; int f(int x,int y) { int b; [1] ; [2] ; if(x<=0) [3] ; return a[x]; } int main() { cin>>n; if(n<2||n>N) exit(0); for(x=1;x<=n;x++) cin>>a[x]; for(x=1;x<=n;x++) cout<<a[x]<<" "; cout<<endl; for(y=2;y<=n;y++) { for(x=1;x<=n;x++) cout<< [4] <<" "; cout<<endl; } return 0; } 2.[程序说明] 设有n个人依次围成一圈,从第1个人开始报数,数到第m个人出列,然后 从出列的下一个人开始报数, 数到第m个人又出列, ?, 如此反复到所有的人全部出列为止。 设n个人的编号分别为 1,2,?,n,打印出出列的顺序。 本题用数组建立标志位等方法求解,用数组实现链式结构。 数组 a[i]作为"指针"变量 来使用, a[i]存放下一个结点的位置。 设立指针 j 指向当前结点, 则移动结点过程为 j=a[j], 当数到 m 时,m 结点出链,则 a[j]=a[a[j]]。 #include<iostream> #include<Cstring> using namespace std; int main() { int a[1000],i,j,k,p,n,m; cin>>n>>m; for(i=1;i<n;i++) a[i]=i+1; a[n]=1; [1] ;
6

初赛模拟题 5

k=1; p=0; do { [2] ; k=k+1; if(k==m) { cout<<a[j]<<" "; p=p+1; [3] ; [4] ; } }while(p!=n); return 0; }

7

初赛模拟题 5

答案 一、选择题 1-10: B B B D A A D D B D 11-20:A D B B D B D B A/D A 二、解决问题 1.14 2.19 a1 a4 a7 a10 三、阅读程序 1.89 2.21 3.63 4.77 四、填空 1. [1]b=y-x [2]x=1-b [3]x=x+n [4]f[x][y] 2. [1]j=n [2]j=a[n] [3]a[j]=a[a[j]] [4]k=1

8


推荐相关:

NOIP初赛模拟题(C++)4

NOIP初赛模拟题(C++)4_IT认证_资格考试/认证_教育专区。NOIP 初赛模拟题 4 信息...[400]; int i,j; 5/8 NOIP 初赛模拟题 4 memset(get,0,sizeof(get))...


NOIP2010提高组初赛试题答案C++

(共 4 题,每题 7 分,共计 28 分) 1.16 2.1 2 3 5 6 7 9 10 14 NOIP2010 初赛 提高组 C++ 12 3.4 4.1 6 9 5 4 8 3 2 7 、、完善...


NOIP初赛模拟题7(C++)

NOIP初赛模拟题7(C++)_学科竞赛_初中教育_教育专区。NOIP 模拟练习 7 一、选择...依次做下去,直到操场只剩 下一个人,记这个人的编号为 J(N),例如,J(5)=3...


NOIP2010普及组初赛试题答案C++

NOIP2010普及组初赛试题答案C++_IT/计算机_专业资料。根据年鉴手打的word文档,全...题:(每题 1.5 分) 1 D 11 D 2 A 12 B 3 A 13 B 4 D 14 B 5 ...


NOIP信息学初赛模拟试题C++(1)

NOIP信息学初赛模拟试题C++(1)_学科竞赛_初中教育_教育专区。初赛模拟题(8 月...[3] } } 5/7 初赛模拟题(8 月 22 日) void print() { char get[400...


历年noip初赛普及组试题

匹克联赛初赛试题(2009) ( 普及组 C++语言 二小时完成 ) ●● 全部试题答案...[i]%=10; 第 5 页共 42 页 芜湖县实验学校 NOIP 初赛复习资料 整理:ZQ ...


NOIP2011提高组初赛试题及答案C++版

第十七届全国青少年信息学奥林匹克联赛初赛试题( 提高组 C++语言 两小时完成 ) ...4 6 1 2 10 2 3 20 3 4 30 NOIP2011 初赛 提高组 C++ 5 4 1 40 ...


NOIP2008提高组初赛试题_C++含答案

NOIP2008提高组初赛试题_C++含答案_英语考试_外语学习_教育专区。第十四届全国青少年...问题求解(共 2 题,每题 5 分,共计 10 分) 1.有 6 个城市,任何两个...


noip2006提高组初赛试题C++&答案

noip2006提高组初赛试题C++&答案_英语学习_外语学习_教育专区。第十二届全国青少年...(图中是 n=5 时一条通路的例 子)设 n=10,则该正三角形的不同的通路的...


NOIP初赛模拟题2

正确的二维数组类型说明是( ) (A) int ar2[5,5]; (B) int ar2(5,5...喜欢此文档的还喜欢 NOIP初赛模拟题5C++ 暂无评价 8页 2下载券 ...

网站首页 | 网站地图
All rights reserved Powered by 简单学习网 www.tceic.com
copyright ©right 2010-2021。
文档资料库内容来自网络,如有侵犯请联系客服。zhit325@126.com