蓝桥等考C++组别九级
第一部分:选择题
1、
C++ L
9
(
15
分)
输出如下图案,下面代码中,下划线处应填写的语句是
( )。
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
* * * * * *
for(int i = 1; i <= 7; i++)
{
if (i % 2 == 0)
cout << ' ';
// 一个空格
{
cout << "* ";
// 一个空格
}
cout << endl;
}
A
.
for(int j = 1; j <= 7; j++)
B.
for(int j = 1; j <= 6; j++)
C.
for(int j = 0; j <= 6; j++)
D.
for(int j = 1; j < 6; j++)
正确答案:
B
2
、C++ L
9
(
15
分)
运行以下代码,输出结果是
( )。
int n = 5;
while(n >= 0)
{
for (int i = 0; i < n; i++)
{
cout << '*';
}
cout << endl;
n--;
}
A
.
*
**
***
*****
******
B.
*
**
***
*****
C.
*****
****
***
**
*
D.
*
**
***
****
*****
正确答案:
C
3
、C++ L
9
(20分)
输出如下图案,下面代码中,下划线处应填写的语句是
( )。
* *
** *
* * *
* **
* *
for (int i = 1; i <= 5; i++)
{
for (int j = 1; j <= 5; j++)
{
cout << "*";
else
cout << ' ';
}
cout << endl;
}
A
.
if (i == 1 || i == 5 || i == j)
B.
if (j == 1 || j == 5 || i == j)
C.
if (i == 1 || i == 5 || i + j == 5 + 1)
D.
if (j == 1 || j == 5 || i + j == 5 + 1)
正确答案:
B
第二部分:编程题
4、C++ L
9
画直角三角形(
2
0分)
题目名称:
画直角三角形
题目描述:
根据输入的正整数n,用字符“*”画出如下所述的直角三角形。
第1行有一个“*”,第2行有2个“*”
……
第
n
行有
n
个“*”。每一行的“*”左边都没有空格。
例如
n
= 5
时,图案为:
*
**
***
****
*****
输入:
输入
1
个正整数
n(
3 <=
n
<= 15
)
,表示这个
直角三角形的底和高。
输出:
根据题目描述,输出对应的字符图案。
注意事项:
1
.
同一行中两个“*”之间没有空格;
2
.
图案的第一行前面不能有多余的空行;
3
.
图案的最左侧从第一列开始输出,不能有多余的空格。
输入样例
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 << '*';
}
cout << endl;
}
return 0;
}
测试数据:
1.in
3
1.out
*
**
***
2.in
5
2.out
*
**
***
****
*****
余下略
5
、C++ L
9
画等腰字符三角形(
3
0分)
题目名称:
画等腰字符三角形
题目描述:
根据输入的正整数n,用大写英文字母A画出如图所示的等腰字符三角形。
例如
n
= 5
时,图案为:
A
AAA
AAAAA
AAAAAAA
AAAAAAAAA
输入:
输入
1
个正整数
n(n
<= 13
)
,表示这个
等腰字符三角形有多少行。
输出:
根据题目描述,输出对应的字符图案。
注意事项:
从第二行开始,每一行的
字母数量
比上一行多两个;
图案的最左侧从第一列开始输出;
同一行中相邻两个
字母
中间没有空格。
输入样例
1
:
3
输出样例
1
:
A
AAA
AAAAA
输入样例
2
:
5
输出样例
2
:
A
AAA
AAAAA
AAAAAAA
AAAAAAAAA
参考程序:
#include<iostream>
using namespace std;
int main()
{
int n;
char ch = 'A';
cin >> n;
for (int i = 1; i <= n; i++)
{
for (int j = n - i; j > 0; j--)
{
cout << " ";
}
for (int j = 1; j <= 2 * i - 1; j++)
{
cout << ch;
}
cout << endl;
}
return 0;
}
测试数据:
1.in
2
1.out
A
AAA
2.in
3
2.out
A
AAA
AAAAA
3.in
5
3.out
A
AAA
AAAAA
AAAAAAA
AAAAAAAAA
余下略
蓝桥杯青少组C++组别9级编程练习真题(第3套,共16套)