7-12 打印菱形图案 (15分)

本题要求编写程序,打印一个高度为n的、由“*”组成的正菱形图案。

输入格式:

输入在一行中给出一个正的奇数n。

输出格式:

输出由n行星号“*”组成的菱形,如样例所示。每个星号后跟一个空格。

输入样例:

7

输出样例:

      * * * * * * * * *
* * * * * * * * * * * * * * * *

原创答案(Ctrl + C / V):

#include <stdio.h>
int main() {int n, a;scanf("%d", &n);for (int i = 1; i <= n; i++) {if (i <= n / 2 + 1) a = 2 * i - 1;else a = 4 * (n / 2 + 1) - 2 * i - 1;for (int j = 1; j <= n - a; j++)printf(" ");for (int k = 1; k <= a; k++)printf("* ");printf("\n");}return 0;
}

2022/9/20 更新

注释思路:

此题每行要输出的就三样:前面的空格 + 中间的 * 加上每个 * 带的空格(一个整体) + 最后的 \n

由题目可知 前面的空格 + 中间的 * 加上每个 * 带的空格(一个整体)个数和等于输入的行数

#include <stdio.h>
int main() {// n 表示要输出的行数,a 表示中间的 * 加上每个 * 带的空格(一个整体)个数int n, a;scanf("%d", &n);for (int i = 1; i <= n; i++) {// 计算每行的 a 的值,从中间分开,前一半是递增等差数列,后半是递减if (i <= n / 2 + 1) a = 2 * i - 1;else a = 4 * (n / 2 + 1) - 2 * i - 1;// 打印前面的空格,个数为 n - afor (int j = 1; j <= n - a; j++)printf(" ");// 打印中间的 * 加上每个 * 带的空格,个数为 afor (int k = 1; k <= a; k++)printf("* ");// 打印每行最后的 \nprintf("\n");}return 0;
}

PTA 7-12 打印菱形图案相关推荐

  1. 打印菱形图案的两种方法

    打印菱形图案 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"*"组 ...

  2. SCAU 1035 打印菱形图案

    1035 打印菱形图案 时间限制:1000MS 代码长度限制:10KB 提交次数:4874 通过次数:3064 题型: 编程题 语言: G++;GCC Description 由键盘输入正数n(n&l ...

  3. 习题4-9 打印菱形图案 (15 分)

    习题4-9 打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号& ...

  4. 花式打印菱形图案!!

    (一).首先我们先来看最简单的打印5行5列 ***** ***** ***** ***** ***** 具体代码如下: /*** 双循环打印菱形图案* * A ** *** BBB * ** **** ...

  5. java打印菱形图案_java打印出菱形图案实例详解

    第一步:首先对图像进行解析 想要打印该图形必须要进行多层循环嵌套,分两个部分进行打印. 第一部分为上半部分前四行,他们是递增的关系,后半部分后三行为递减关系,由此可以得出我们需要写两个打的循环.并且由 ...

  6. php编辑菱形图案代码,打印菱形图案 (15 分)

    打印菱形图案 (15 分) 本题要求编写程序,打印一个高度为n的.由"*"组成的正菱形图案. 输入格式: 输入在一行中给出一个正的奇数n. 输出格式: 输出由n行星号"* ...

  7. (Java) 实现打印菱形图案

    Java 实现打印菱形图案 一.直接看效果图: 随便输入一个数字,然后会生成一个宽度为该数字的菱形: 二.首先先来看下,菱形的结构,由符号和空格组成,所以就用for循环来实现这样的效果,然后来看代码: ...

  8. 【C】 打印菱形图案

    使用VS2019 ISO C++14 标准 (/std:c++14) 打印菱形图案 打印出如下图案(菱形). ********* **************** 代码: //打印菱形图案 #incl ...

  9. 打印菱形图案(C语言实现)

    习题4-9 打印菱形图案(C语言实现) 分析:分上下两个三角形打印 #include <stdio.h>int main() {int n,i,j,k;scanf("%d&quo ...

最新文章

  1. 熔断的意义和适用场景,你真的清楚吗?
  2. Matlab/Eigen矩阵填充问题
  3. SAP CRM和C4C的产品主数据price维护
  4. axios源码中的10多个工具函数,值得一学~
  5. Spring:自动接线或不自动接线
  6. ASP.NET——上传文件超过了最大请求长度
  7. jquery中几种层级选择器的详细说明
  8. Android——eclipse下运行android项目报错 Conversion to Dalvik format failed with error 1解决...
  9. MySQL OCP 认证考试你知道吗?
  10. 西门子PLC与安川变频器Modbus通信
  11. 第三方APP实现QQ登陆
  12. android switch的使用方法,Android UI控件Switch的使用方法
  13. 集装箱编号校验码规则(JavaScript版本)
  14. Eclipse创建java web工程
  15. 工业相机 镜头 焦距 视野 计算相关
  16. 会议,如何从智能走向智慧?——四川有生发布智慧会议平台
  17. 逆天的APP,不得不提到 “一个木函”
  18. 建模思路|彩色C4D人物元素设计灵感
  19. (听说标题越短事越大)
  20. matlab怎么输入二维数组,MATLAB二维数组(矩阵)的创建

热门文章

  1. Canal 组件简介与 vivo 帐号实践
  2. ArcEngine简单教程——要素的属性查询、空间查询
  3. 美国服务器Windows系统常见的文件格式
  4. 探索区块链C端市场 艺术品、卡牌、音乐皆可NFT
  5. 企业能源管理平台-企业智慧能源解决方案-实现能源企业数字化转型
  6. java 获取本机连接过的所有WiFI密码
  7. 聚名:高估价域名都有什么表现?
  8. Android之面试题!初级到大师!!!!50道
  9. 浅分析BIG-建筑展示系统
  10. C++ 迷宫问题 多条路径 所有路径 最短路径 课程设计