当前位置:蜗牛素材网>综合资讯>图文>正文

2024信息学竞赛结果,2023海淀区信息学竞赛校内预选赛题目答案与解析

人气:394 ℃/2024-02-13 12:33:11

2023海淀区信息学竞赛校内预选赛

考试时间:60分钟 卷面满分:100分

一、选择题(每题至少有一个正确答案,共10道小题,每题2分,共20分)

1.在C 程序中,下列变量名合法的是 ( )

A._123abc B.123abc

C.123#abc D.abc&123

解释:C 程序中变量名是由字母、数字和下划线组成,不能以字母开头。

2.在C 程序中表达式 x%=y 与下列哪个表达式是等价的? ( )

A.x%y B.x/=y

C.y=x%y D.x=x%y

3.下列对语句“freopen(“A.in”, “r”,stdin);”的分析中,正确的是 ( )

A.freopen是文件名

B.A.in 是重定向函数名

C.r代表重定向为“写”方式

D.语句将cin重定向到文件A.in

4.下列代码片段正确的输出是什么? ( )

int a=10;

double b=3.14;

printf(“%d-%lf”,a,b);

A.6.86 B.10 3

C.10 3.14 D.10-3.140000

5.在C 中,下列数据类型占用内存最大的是: ( )

A.char B.bool

C.double D.short

解释:C 程序中每个double类型的变量占用8个字节的空间。

6.在C 中,下列运算符优先级最低的是: ( )

A. B.%

C.* D./

7.在C 中,正确的数组定义方法是: ( )

A.int n; int a[n];

B.int n; n=100; int a[n];

C.int a[]={1,2,3,4,5,6,7};

D.int[100] a;

8.在C 语言中,表示逻辑值"真"的是 ( )

A. 1 B. 非1的数

C. 非0的数 D. 大于0的数

9.C 语言中,作为语句结束符的是 ( )

A.回车符 B.冒号

C.逗号 D.分号

10.若变量已正确定义,要将 a 和 b 中的数据进行交换,则下列正确的是( )

A、a=a b;b=a-b;a=a-b;

B、t=a;a=b;b=t;

C、a=t;t=b;b=a;

D、t=b;b=a;b=t;

二、完善程序(共10道小题,每题3分,共30分)

1、我们知道C语言程序和C 语言程序中的输出都必须添加相应的头文件,这个关键头文件是 #include< iostream> 或 #include < cstdio> 或 #include< stdio.h>

(题目说明:写只写万能头文件不得分)

2、数学上计算圆柱体体积是用底面积乘以高,具体的计算公式是 ,如果给定圆柱体底面的半径 r和圆柱体的高 h,就可以计算出圆柱体的体积。用编程的方法实现这个任务,下面给定的代码中,空缺 ② 处应填写v=3.14*r*r*h (取3.14 ) 。

3、数学上把只含有一个未知数、未知数的最高次数为1且两边都为整式的等式叫做一元一次方程。一元一次方程中未知数的值叫做这个一元一次方程的解,或者叫做这个一元一次方程的根,一元一次方程只有一个根。 对于一个一元一次方程ax b=0,其中a和b是给定的数,x是未知数,下面是解一元一次方程的程序代码,即从键盘上输入a和b,输出方程的解。用编程的方法实现这个任务,下面给定的代码中,空缺 ③ 处应该填写 cout<<-b/a

解释:原方程可等价变换为a * x= -b ,故得 x=-b/a;

4、有家包子店叫“王子包子王”,我们发现它从左往右念和从右往左念的结果是一样的。接下来,让我们看看数字有没有类似好玩的事情:一个三位数反转后与原数拼接是不是有类似的效果?现有一个程序,对于给定的一个三位数,要求你分离出它的百位,十位和个位,反转后输出。若反转后首位为0,仍输出以0开头的数,如给定 123 反转后为321,140反转后的为 041。用编程的方法实现这个任务,下面给定的代码中,空缺 ④ 处应该填写 a=n

解释:a,b,c分别表示给定三位数的个、十和百位上的数字。

5、关于阳历闰年的产生:地球绕太阳运行周期为365天5小时48分46秒(合365.24219天)即一回归年。公历的平年只有365日,比回归年短约0.2422 日,所余下的时间约为四年累计一天,故每过四年于2月加1天,使当年的历年长度为366日,这一年就为闰年。现行公历中每400年有97个闰年。按照每四年一个闰年计算,平均每年就要多算出0.0078天,这样经过四百年就会多算出大约3天来,因此,每四百年中要减少三个闰年。所以规定,公历年份是整百数的,必须是400的倍数的才是闰年,不是400的倍数的,虽然是4的倍数,也是平年,这就是通常所说的:四年一闰,百年不闰,四百年再闰。例如,2000年是闰年,1900年则是平年。现在给定一个年份,请你判断它是否为闰年。用编程的方法实现这个任务,下面给定的代码中,空缺 ⑤ 处应该填写 n@0==0

6、现有一个程序要计算并输出所有1到n的正整数的总和,那么下面的程序代码中在空缺 † 处填写一个表达式应该是: s=s i 或 s =i

7、陶陶刚刚学会在C 程序中实现读写文件,她要从文件“A01.txt”中读取数据,进行相关运算后,将题目要求的答案存储在“A02.txt”中,她除了在程序中要加入关于文件读写的头文件外,她还需要写哪些关于文件读写的关键语句?

freopen("A01.txt", "r", stdin);

freopen("A02.txt", "w", stdout);

8、陶陶刚刚学会求一个正整数的质因数,他想把给定的一个正整数的全部质因数都输出,那么右边的程序代码在空缺 ˆ 处填写一个表达式应该是 n=n/m 或 n/=m

9、陶陶想要爬上一个有n 级台阶的楼梯,每一步能爬一到两级台阶。他希望移动的次数是整数m 的整数倍,用程序计算满足条件爬到楼梯顶端的最小移动次数,若无解输出 -1。

下图程序代码在空缺 ‰ 处应填写 int i=(n 1)/2;

10、陶陶学会了素数的判断,现在他找到不超过 n 的素数中,第 m 小的那一个,如果不存在就输出 -1 。下图程序代码在空缺 Š 处应填写 if(j>k) cnt

三、阅读程序写结果(共10道小题,每题5分,共50分)

1、对于下图3-01中的程序,如果输入22和13, 则输出的结果为 35

解释:计算并输出两个数的和。

2、对于右图 3-02中的程序,如果输入25,

则输出的结果为 5

解释:分段函数中,输入的数大于10,应执行开方操作。

3、对于下图3-03中的程序,如果输入8,则输出的结果为 64

解释:计算从1开始的连续n个计数的和,可以证明恰好是n的平方。

4、对于右图3-04中的程序,输入 10,

则输出的结果为 55

解释:求斐波那契数列的第n项,第10项是55 。

5、对于下图3-05中的程序,如果输入385和65,则输出的结果为 5

解释:求大于1的最小公约数。

6、对于右图3-06中的程序,如果输入 24,

则输出的结果为 13

解释:统计1到n的所有数中数字出现的总次数。

7、对于下图3-07中的程序,如果输入 96 ,则输出的结果为 11

解释:统计n有多少个非本身的约数,对于96有1,2,3,4,6,8,12,16,24,32,48 。

8、对于上图3-08中的程序,如果输入560,则输出的结果为 3

解释:统计n的不同的质因数的个数。对于560有2,5和7 。

9、对于下图3-09中的程序,如果依次输入2 1 2 1 10,则输出的结果为 -5

解释:简单的模拟。

10、对于上图3-10中的程序,如果输入 6 3 ,则输出的结果为 8

解释:简单的模拟。

搜索更多有关“2024信息学竞赛结果,2023海淀区信息学竞赛校内预选赛题目答案与解析”的信息 [百度搜索] [SoGou搜索] [头条搜索] [360搜索]
本网站部分内容、图文来自于网络,如有侵犯您的合法权益,请及时与我们联系,我们将第一时间安排核实及删除!
CopyRight © 2008-2024 蜗牛素材网 All Rights Reserved. 手机版