蓝桥等考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分)(简化内容)
要输出如下的图案,在下列代码中的下划线处填写正确的语句是
( )。
*
**
* *
* *
*****
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= i; j++)
{
_____________________
_
__
cout << ' ';
else
cout << '*';
}
cout << endl;
}
A
. if (j > 1 && j < i && i < 4 && i > 2)
B. if (j > 1 && j < i || i < 5 && i > 1)
C. if (i == 1 || i == 5 || j == 1 || j == i)
D. if (j > 1 && j < i && i < 5 && i > 1)
正确答案:
D
第二部分:编程题
4、
C++ L
9
画U型图案(20分)
题目名称:
画U型图案
题目描述:
根据输入的正整数n,画出如图所示的U型图案。
例如
n
= 3
时,图案为:
* *
* *
***
输入:
输入
1
个正整数
n(
3
<=
n
<= 20
)
,表示这个
U型图案的宽和高。
输出:
根据题目描述,输出对应的图案。
注意事项:
1、
图案的第一行前面不能有多余的空行;
2、
图案的最左侧从第一列开始输出,左边不能有多余的空格。
输入样例
1
:
3
输出样例
1
:
* *
* *
***
输入样例
2
:
5
输出样例
2
:
* *
* *
* *
* *
*****
参考程序:
#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 == n || j == 1 || j == n)
cout << "*";
else
cout << ' ';
}
cout << endl;
}
return 0;
}
测试数据:
1.in
3
1.out
* *
* *
***
2.in
5
2.out
* *
* *
* *
* *
*****
3.in
8
3.out
* *
* *
* *
* *
* *
* *
* *
********
略
5
、
C++ L
9
画沙漏图案(
3
0分)
题目名称:
画沙漏图案
题目描述:
根据输入的正整数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级编程练习真题(第10套,共16套)