【例38.2】 图形输出
按类型输出正方形或菱形
正文
// 原题:https://oj.yecheng.tv/p/P228
// 题意:输入类型字母和边长 x:
// Z 输出 x 行 x 列的正方形,
// L 输出边长为 x 的实心菱形。
// 思路:菱形共 2x-1 行,行号到中线的距离
// 决定空格数和星号数。
#include <iostream>
using namespace std;
int main() {
char type;
int x;
cin >> type >> x;
if (type == 'Z') {
// 正方形:每行 x 个星号
for (int i = 0; i < x; i++) {
for (int j = 0; j < x; j++) cout << "*";
cout << endl;
}
} else {
// 菱形:2x-1 行,逐行对称
for (int i = 0; i < 2 * x - 1; i++) {
int d = x - 1 - i;
if (d < 0) d = -d;
for (int s = 0; s < d; s++) cout << " ";
for (int j = 0; j < 2 * (x - d) - 1; j++) cout << "*";
cout << endl;
}
}
return 0;
}
C++语法 · 循环结构的其它内容
- 【例24.1】 重要的话说 n 遍
- 【例24.2】 26个兄弟姐妹1
- 【例24.3】 奇数求和
- 练24.1 老狼老狼
- 练24.2 for循环求和
- 练24.3 循环输出
- 【例25.1】 不说脏话
- 【例25.2】 26个兄弟姐妹2
- 【例25.3】 输出奇偶数之和
- 练25.1 打老虎
- 练25.2 订餐时间
- 练25.3 偶数求和
- 【例26.1】 人类的本质
- 【例26.2】 循环判断输出
- 【例26.3】 多数求和
- 练26.1 输出偶数
- 练26.2 分苹果
- 练26.3 求平均年龄
- 【例27.1】 求整数的和与均值(限c++)
- 【例27.2】 最小n值
- 【例27.3】 第几项
- 练27.1 叮叮当当
- 练27.2 布纳特难题
- 练27.3 称心如意(限c++)
- 【例28.1】 统计奖牌
- 【例28.2】 求出e的值
- 【例28.3】 数列分段
- 练28.1 多边形内角和
- 练28.2 满足条件的数累加
- 练28.3 短信计费(限c++)
- 练28.4 上课点名(限c++)
- 【例29.1】 求阶乘
- 【例29.2】 幂的末尾
- 【例29.3】 求小数的某一位
- 练29.1 人口增长问题
- 练29.2 末两位数
- 练29.3 银行利息
- 【例30.1】 平方根
- 【例30.2】回家作业
- 【例30.3】 按要求计算输出
- 练30.1 鸡尾酒疗法
- 练30.2 错误减法
- 练30.3 奇偶分家
- 【例31.1】 石头剪子布
- 【例31.2】 证书等级
- 【例31.3】正常血压
- 练31.1 年龄与疾病
- 练31.2 数值统计
- 练31.3 画图
- 【例32.1】 学游泳
- 【例32.2】 凑数
- 【例32.3】 数位积
- 练32.1 立方和不等式
- 练32.2 种植竹笋
- 练32.3 买房子
- 【例33.1】 卡(qia)常数
- 【例33.2】 两位数
- 【例33.3】 凑数
- 练33.1 3721数
- 练33.2 素数判断