蓝桥等考C++组别
八
级
第一部分:选择题
1、C++ L8 (15分)
运行以下程序,输出结果是( )。
int i = 1;
while(i <= 10)
{
cout << i << " ";
if(i >= 6)
{
break;
}
i
++
;
}
1 2 3 4 5
1 2 3 4 5 6
1 2 3 4 5 6
7
1 2 3 4 5 6
7 8 9 10
正确答案:
B
2、C++ L8 (15分)
两个整数的最大公约数指
它们
共有的约数中最大的一个。
7
5和
9
0的最大公约数是( )。
5
4
5
3
1
5
正确答案:
D
3、C++ L8 (20分)
运行以下程序,输出结果是( )。
int sum = 0;
for(int i = 1; i <= 9; i++)
{
if(i % 2 == 0)
{
continue;
}
sum+
+
;
}
cout
<<
sum
<<
" ";
4
5
9
10
正确答案:B
第二部分:编程题
4、C++ L
8
等差数列(
2
0分)(替换)
题目名称:
等差数列
题目描述:
等差数列是指从第二项起,每一项与它的前一项的差等于同一个常数的一种数列,这个常数叫做等差数列的公差。例如 7,10,13,16 就是一个公差为 3 的等差数列。
输入两个正整数
m
、
n
,输出从
m
到n
之间,以m为第一项,公差为3的
等差数列。
输入:
一行,包含两个正整数
m
、n,
0
<
m
<= n < 1000
。相邻两个数用一个空格隔开。
输出:
一行,
为
从
m
到n(包括
m
和n)
之间,以m为第一项,公差为3的
等差数列,相邻两个数用一个空格隔开。
输入样例:
7
18
输出样例:
7
10
13
16
参考程序:
#include<iostream>
using namespace std;
int main()
{
int m, n;
cin >> m >> n;
for (int i = m; i <= n; i+=3)
{
cout << i << ' ';
}
return 0;
}
测试数据:
1.in
7 18
1.out
7 10 13 16
2.in
1 10
2.out
1 4 7 10
3.in
2 20
3.out
2 5 8 11 14 17 20
4.in
11 49
4.out
11 14 17 20 23 26 29 32 35 38 41 44 47
5.in
100 206
5.out
100 103 106 109 112 115 118 121 124 127 130 133 136 139 142 145 148 151 154 157 160 163 166 169 172 175 178 181 184 187 190 193 196 199 202 205
5、C++ L8
考试
(30分)
(加样例、说明)
题目名称:
考试
题目描述:
小蓝
参加了一场很特别的
考试,考试题由n道单项选择题组成。每道选择题正确得3分,不做得0分,错误倒扣1分。
输入试题的数目n和小蓝的最终得分score,请你算一算,他最多做对了几道题。
例如,n=10,score=8时,小蓝可能做对4道题,做错4道题,其他都没做;也可能做对3道题,做错1道题,其他都没做。所以你应该输出4。
输入:
共
2行;
第一行一个正整数
n(n<=
6
0)
;
第
二
行一个整数
score
(
-1*n<=score
<=
3*n
)
。
输入数据保证题目有解。
输出:
一个
整数,为
小蓝最多做对的题目数量
。
输入样例:
10
8
输出样例:
4
参考程序:
#include <iostream>
using namespace std;
int main()
{
int n, score;
cin >> n >> score;
for(int i = n; i >= 0; i--) //i是做对的题目数
{
for(int j = n; j >= 0; j--) //j是做错的题目数
{
if(i + j <= n && i * 3 - j == score)
{
cout
<<
i;
//第一组正解,就是i最大
return 0;
}
}
}
}
测试数据:
1.in
10
8
1.out
4
2.in
18
16
2.out
8
3.in
13
3
3.out
4
4.in
3
9
4.out
3
5.in
12
-1
5.out
2
蓝桥杯青少组C++组别8级编程练习真题(第7套,共8套)