2.3 循环嵌套与字符练习题一
一、填空题:输出奇数数字
【题目描述】
请在以下 C++ 代码的 if (______) 处填写合适的条件表达式,使得程序输出从字符 '1' 到 '9' 中所有奇数字符的个数(即 '1', '3', '5', '7', '9')。
#include <iostream>
using namespace std;
int main() {
int cnt = 0;
for (char ch = '1'; ch <= '9'; ch++)
if (______) // 在此处填入代码
cnt++;
cout << cnt << endl;
return 0;
}
二、字符矩形
【问题描述】
根据输入参数,画出一个矩形图案。
- 前两个参数为整数,依次表示矩形的高(行数)和宽(列数);
约定:高 ∈ [3, 10],宽 ∈ [5, 10]。 - 第三个参数是一个字 符,表示用于绘制矩形的符号。
- 第四个参数为
1或0:1表示实心矩形;0表示空心矩形(仅边界有符号,内部为空格)。
【输入格式】
一行,包含四个参数,以空格分隔:
高 宽 符号 实心标志
【输出格式】
输出绘制的矩形图形。
⚠️ 注意:
- 每行末尾不能有多余空格;
- 行与行之间用换行符分隔;
- 空心矩形的内部用空格填充,且每行宽度严格等于“宽”。
【样例输入 1】
7 7 @ 0
【样例输出 1】
@@@@@@@
@ @
@ @
@ @
@ @
@ @
@@@@@@@
🔍 说明:7 行 × 7 列,符号
@,空心(仅首尾行全为@,中间行首尾为@,中间为 5 个空格)。
【样例输入 2】(补充:实心示例)
3 5 # 1
【样例输出 2】
#####
#####
#####
三、累加和之和
【问题描述】
输入一个正整数 ,计算以下累加和之和:
即:第 项为前 个自然数之和(),求这 项的总和。
约定:。
【输入格式】
一行,一个整数 。
【输出格式】
一行,一个整数 。
【样例输入 1】
6
【样例输出 1】
56
【样例解释】
各项分别为:
求和:
四、百钱百鸡变形
小明很喜欢这个故事,他决定对这个问题进行扩展,并使用编程解决:如果每只公鸡 x 元,每只母鸡 y 元,每 z 只小鸡 1 元;现在有 n 元,买了 m 只鸡,共有多少种方案?
【输入描述】
输入一行,包含五个整数,分别为问题描述中的 x、y、z、n、m。约定 1 ≤ x, y, z ≤ 10,1 ≤ n, m ≤ 1000。
【输出描述】
输出一行,包含一个整数 C,表示有 C 种方案。
【样例输入 1】
5 3 3 100 100