蓝桥等考C++组别九级
第一部分:选择题
1
、
C++ L
9
(
15
分)
运行以下代码,输出结果是
( )。
int n = 5;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n; j++)
{
cout << (j + i + 3) % n + 1 << ' ';
}
cout << endl;
}
A
.
1
2 3
3 4 5
4 5 1 2
5 1 2 3 4
B.
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
1 2 3 4 5
C.
2
3 4
4 5 1
5 1 2 3
1 2 3 4 5
D.
1 2 3 4 5
2 3 4 5 1
3 4 5 1 2
4 5 1 2 3
5 1 2 3 4
正确答案:
D
2
、C++ L
9
(
15
分)
运行以下代码,输出结果是
( )。
int n = 5;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
if (i == 1 || i == n || i == j)
cout << "*";
else
cout << ' ';
}
cout << endl;
}
A
.
* *
** *
* * *
* **
* *
B.
*****
*
*
*
*****
C.
* *
* **
* * *
** *
* *
D.
*****
*
*
*
*****
正确答案:
B
3
、C++ L
9
(20分)
(简化内容,去掉了一个空)
要输出如下的图案(同1行中相邻两个星号之间有一个空格),在下划线处填写正确的语句是
( )。
* * * *
* * * * * *
* * * * * * * *
* * * * * * * * * *
int n = 4;
for(int i = 1; i <= n; i++)
{
for(int j = 1; j <= n - i; j++)
cout << " ";// 2个空格
_
________________________
{
if(j == 1)
cout << "*";
else
cout << "
*";// 1个空格
}
cout << endl;
}
A
.
for(int j = 1; j <= 2 * i + 3; j++)
B.
for(int j = 1; j <= i + 4; j++)
C.
for(int j = 1; j <= i + 3; j++)
D.
for(int j = 1; j <= 2 * i + 2; j++)
正确答案:
D
第二部分:编程题
4、C++ L
9
画
01
条纹图案填充矩形(
2
0分)
题目名称:
画
01
条纹图案填充矩形
题目描述:
根据输入的正整数n,画一个n行n列的
01
条纹图案填充矩形。图中,第1行填充的是
111…
(n个1),第2行是
000…
(n个0),第
3
行填充的又是
111…
(n个1)
…
,以此类推。单数行填充的都是n个1,双数行填充的都是n个0。
例如:当
n
=5
时,图案如下:
11111
00000
11111
00000
11111
输入:
输入一
个正整数n(
2 <= n <= 30
)
,表示矩形的宽和高
。
输出:
按题目描述的要求输出对应的矩形图案。
注意事项:
图案的第一行前面不能有多余的空行;
图案的最左侧从第一列开始输出,数字之间不能有多余的空格。
输入样例
1
:
5
输出样例
1
:
11111
00000
11111
00000
11111
参考程序:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
if (i % 2 != 0)
cout << 1;
else
cout << 0;
}
cout << endl;
}
return 0;
}
测试数据:
1.in
2
1.out
11
00
2.in
5
2.out
11111
00000
11111
00000
11111
3.in
8
3.out
11111111
00000000
11111111
00000000
11111111
00000000
11111111
00000000
余下略,见附件目录下
testcase.txt
5
、
C++ L
9
画倒等腰三角形
(
3
0分)
题目名称:
画倒等腰三角形
提示信息:
至少有两边相等的三角形叫做等腰三角形。等腰三角形中,相等的两条边称为这个三角形的腰(
AB
、
AC
),另一边叫做底边(
BC
)
,从三角形一个端点向它的对边所在的直线作一条垂线,三角形顶点和垂足之间的线段称为三角形这条边上的高(AD)
。如图所示:
A
D
C
B
A
D
C
B
题目描述:
根据输入的整数n,按例图的形式使用星号字符画出倒等腰三角形图案。
注意:同一行相邻两个星号之间有一个空格。
例:n
= 5
,倒等腰三角形图案如下图:
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
输入:
输入一个正整数
n
,代表
倒等腰字符三角形
高的行数(
3
<=
n
<= 10
)
。
输出:
按题目描述的要求输出对应的图案。
注意事项:
图案的第一行前面不能有多余的空行;
图案的最左侧从第一列开始输出,左边不能有多余的空格。
输入样例
1
:
3
输出样例
1
:
* * * * *
* * *
*
输入样例
1
:
5
输出样例
1
:
* * * * * * * * *
* * * * * * *
* * * * *
* * *
*
参考程序:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j < i; j++)
{
cout << " ";// 2个空格
}
for (int j = 4 * (n - i) + 1; j > 0; j -= 2)
蓝桥杯青少组C++组别9级编程练习真题(第5套,共16套)