打印图案系列

  • 菱形
  • 箭形
  • X形
  • 空心正方形
  • 大致思路:
    仔细观察图形,可以发现,图形都中是由空格和*按照不同个数的输出组成的。
    在菱形图案和箭型图案中我们可分上部分和下部分分别输出
    而X形和,空心正方形视作整体一次性输出
    重点是找规律!!

菱形

  • 上三角:先输出空格,后输出
    每行中空格:从上往下,一行减少一个:2i+1的方式递增
    下三角:先输出空格,后输出
    每行中空格:从上往下,每行多一个空格: 2(line-1-i)-1的方式递减
    line表示总共有多少行
    按照上述方式,将上三角和下三角中的空格和*分别输出即可
int main()
{int line = 0;int i = 0;scanf("%d", &line);//7//打印上半部分for(i=0; i<line; i++){//打印一行//打印空格int j = 0;for(j=0; j<line-1-i; j++){printf(" ");}//打印*for(j=0; j<2*i+1; j++){printf("*");}printf("\n");}//打印下半部分for(i=0; i<line-1; i++){//打印一行int j = 0;for(j=0; j<=i; j++){printf(" ");}for(j=0; j<2*(line-1-i)-1; j++){printf("*");}printf("\n");}return 0;
}

箭形


  • 上一半:空格每次输出两个 递减 *每次递增一个
    下一半相反
#include <stdio.h>
int main()
{int n = 0;while(scanf("%d", &n) != EOF){//上n行int i = 0;for(i=n; i>0; i--){int j = 0;for(j=0; j<i; j++){printf("  ");}for(j=0; j<=n-i; j++){printf("*");}printf("\n");}//下n+1行for(i=n+1; i>0; i--){int j = 0;for(j=0; j<n+1-i;j++){printf("  ");}for(j=0; j<i; j++){printf("*");}printf("\n");}}return 0;
}

X形


  • X形图案可以拆分成两根斜线,其中i=j时输出星号,或者i=n-i-1时输出星号,其余皆输出空格
#include <stdio.h>int main()
{int n = 0;while(scanf("%d", &n) != EOF){int i = 0;int j = 0;for(i=0; i<n; i++){for(j=0; j<n; j++){if(i == j)printf("*");else if(i+j == n-1)//因为行和列是从0开始的printf("*");elseprintf(" ");}printf("\n");}}return 0;
}

空心正方形


  • 特殊处理第一行和最后一行,为满星
  • 中间的行的首尾为*,其余皆为空格
#include <stdio.h>int main()
{int n = 0;while(scanf("%d", &n) != EOF){int i = 0;int j = 0;for(i=0; i<n; i++){for(j=0; j<n; j++){if(i==0 || i==n-1)printf("* ");else if(j==0 || j==n-1)printf("* ");elseprintf("  ");}printf("\n");}}return 0;
}

ps:写文章的时候怎么打出连续的*啊 每次都变成斜体 或者间隔线,真的会谢啊啊啊啊啊啊啊啊啊

打印图案系列(菱形、X形、箭形、空心正方形)相关推荐

  1. BC58 - BC65 打印三角形到菱形到箭形图案

    从三角形到菱形再到箭形图案 文章目录 从三角形到菱形再到箭形图案 BC58 直角三角形图案 描述 输入描述 输出描述 示例 答案 BC59 翻转直角三角形图案 描述 输入描述 输出描述 示例 答案 B ...

  2. BC107 箭形图案

    箭形图案_牛客题霸_牛客网 (nowcoder.com)https://www.nowcoder.com/practice/a6d1081e0c9a42f19e42ed6cd91556c1?tpId= ...

  3. c语言打印空心矩形图案的程序,C语言之输出空心棱形图案

    #include #include void main() { int n,j,i; /*i为行数,j为每行中的项数*/ printf("输入图案上三角的高度n:"); scanf ...

  4. 趣味程序之打印字符图案系列

    打印字符图案系列程序一览如下,点击进入博客文章: I00005 打印直角三角形字符图案 I00006 打印等腰三角形字符图案(底边在下) I00007 打印菱形字符图案 I00015 打印等腰三角形字 ...

  5. 编写一个程序,使用for循环打印由 * 号构成的实心棱形和空心棱形

    题目 编写一个程序,使用for循环打印由" * " 号构成的实心棱形和空心棱形.如下图所示 思路 我们不妨假设这两个菱形是:正方形旋转45°得到的.在这个假设下去写代码,那为什么打 ...

  6. python语言打印菱形_Python 实现打印单词的菱形字符图案

    Python 实现打印单词的菱形字符图案 我就废话不多说了,还是直接看代码吧! a = [1, 2, 3, 4, 5, 6, 7, 6, 5, 4, 3, 2, 1] b = [' ' * 2 * ( ...

  7. C语言【程序21】 题目:打印出如下图案(菱形)

    /*[程序21] 题目:打印出如下图案(菱形)********* **************** */ #include<stdio.h> int main() {int i,j;for ...

  8. 题目:python 打印出如下图案(菱形):

    # 题目:打印出如下图案(菱形): # # * # *** # ***** # ******* # ***** # *** # * nu = 1 # 开始值 k = 2 # 变量值 while nu ...

  9. java 打印出如下图案(菱形)

    题目: 打印出如下图案(菱形) 程序分析: 先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重 for循环,第一层控制行,第二层控制列. 代码部分: public class Prog ...

最新文章

  1. mySQL笔记(1)
  2. 2020人工智能课程超级大列表:深度学习-强化学习-图神经网络-自然语言处理等...
  3. 普华永道:人工智能将重塑职位格局并与物联网合并
  4. 计算机组成原理 第四版 总线的主模块 总线的从模块,唐朔飞计算机组成原理课件3.ppt...
  5. oracle布尔true 1,将.NET布尔数据类型映射到实体框架中的oracle数(1,0)会抛出错误
  6. Golang 实现【链表反转】
  7. 用SignalR 2.0开发客服系统[系列5:使用SignalR的中文简体语言包和其他技术点]
  8. vs2019配置opencv4.3
  9. BZOJ-4008: [HNOI2015]亚瑟王 (概率期望DP)
  10. I - 数塔(动态规划)数塔问题
  11. 超高频RFID R200系列远距离一体化读写器开发测试
  12. Centos 上使用mmsh协议听猫扑网络电台 VLC播放器
  13. Dell R720xd服务器装机暨改造过程
  14. rospy 让机器人绕圈、矩形行走(碰到障碍物停止)
  15. Notepad++安装--16进制插件HexEditor
  16. 一款vista边栏Gadgets汉英翻译(翻译14种语言的边栏工具下载)
  17. 酒店无线wifi覆盖方案
  18. PHP获取项目根目录
  19. 好程序员云计算培训分享云计算中IDS是什么?
  20. unzip 命令指定解压路径

热门文章

  1. C语言学习总结(三)-----函数指针
  2. PPT2010封装为exe教程
  3. Canvas百战成神-圆(1)
  4. 从“蛙步”到“雁行”vivo的新周期与新常态
  5. LDMIA、LDMIB、LDMDB、LDMDA、STMIA、LDMFD、LDMFA、LDMED、LDMEA等指令详解
  6. 袁萌:收到南京大学录取通知书的那一瞬间
  7. matlab生成n阶O型方阵,matlab教程 06
  8. Python混合图片操作
  9. centos8 解决编译安装 nginx时遇到的报错
  10. CDRshp文件转html,CDR转PDF设置教程-告诉你如何把cdr转换成适合印刷的pdf