蓝桥等考C++组别九级
第一部分:选择题
1、
C++ L
9
(
15
分)
运行以下代码,输出结果是
( )。
int n = 3, m = 5;
for(int i = 0; i < n; i++)
{
for(int j = 1; j <= m; j++)
cout << 'Y';
cout << endl;
}
A
.
YYYYY
YYYYY
YYYYY
YYYYY
B.
YYYYY
YYYYY
YYYYY
C.
YYYY
YYYY
YYYY
YYYY
D.
YYYY
YYYY
YYYY
正确答案:
B
2
、C++ L
9
(
15
分)
运行以下代码,输出结果是
( )。
int n = 5;
for(int i = 0; i < n; i++)
{
for(int k = n - i - 1; k > 0; k--)
{
cout << ' ';// 一个空格
}
for(int j = 0; j < n; j++)
cout << '*';
cout << endl;
}
A
.
*
**
***
****
*****
B.
*
**
***
****
*****
C.
*****
*****
*****
*****
*****
D.
*****
*****
*****
*****
*****
正确答案:
D
3
、C++ L
9
(20分)
要输出如下的图案,在下列代码中的(
1)
、(
2)
处填写正确的语句是
( )。
*
**
* *
* *
*****
for (int i = 1; i <= 5; i++)
{
(
1)
___________
_____________
{
(
2)_____________________
_
__
cout << ' ';
else
cout << '*';
}
cout << endl;
}
A
.
(
1)
for (int j = 0; j < i; j++)
(
2)
if (j > 1 && j < i || i <= 4 && i >= 2)
B.
(
1)
for (int j = 1; j <= 5 - i; j++)
(
2)
if (j > 1 && j < i && i < 5 && i > 1)
C.
(
1)
for (int j = 1; j <= i; j++)
(
2)
if (j > 1 && j < i || i < 5 && i > 1)
D.
(
1)
for (int j = 1; j <= i; j++)
(
2)
if (j > 1 && j < i && i < 5 && i > 1)
正确答案:
D
第二部分:编程题
4、画沙漏图案(50分)
题目名称:
画沙漏图案
题目描述:
根据输入的正整数n,画出如图所示的沙漏图案。
例如
n
= 2
时,图案为:
*****
* *
*
* *
*****
输入:
输入
1
个正整数
n(
2
<=
n
<= 20
)
,表示这个
沙漏的高度有2
*
n
+ 1
行。
输出:
根据题目描述,输出对应的图案。
注意事项:
图案的第一行前面不能有多余的空行;
图案的最左侧从第一列开始输出,左边不能有多余的空格。
输入样例
1
:
2
输出样例
1
:
*****
* *
*
* *
*****
输入样例
2
:
3
输出样例
2
:
*******
* *
* *
*
* *
* *
*******
参考程序:
#include<iostream>
using namespace std;
int main()
{
int n;
cin >> n;
n = 2 * n + 1;
for (int i = 1; i <= n; i++)
{
for (int j = 1; j <= n; j++)
{
if (j == i || i + j == n + 1 || i == 1 || i == n)
cout << '*';
else
cout << ' ';
}
cout << endl;
}
return 0;
}
测试数据:
1.in
2
1.out
*****
* *
*
* *
*****
2.in
3
2.out
*******
* *
* *
*
* *
* *
*******
3.in
8
3.out
略
4.in
15
4.out
略
5.in
20
5.out
略
蓝桥杯青少组C++组别9级编程练习真题(第14套,共16套)