目录

前言

一、“  X ”形

二、箭形

三、菱形

总结


前言

拿下三种图形代码转换!


提示:以下是本篇文章正文内容,下面案例可供参考

一、X形

输入:5

输出:

*   *
 * * 
  *  
 * * 
*   *

输入:6

输出:

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

通过上面的提示,我们可以观察一下这个图形,多少有点手足无措,我们将它适当修改一下便于我们观察

*---*
-*-*-
--*--
-*-*-
*---*

我们发现它其实就是一个5X5二维数组的样子,并且在对角线的位置打印了“星星”

一般思路就是1.观察规律

2.打印空格

3.打印星星

#include <stdio.h>
int main()
{
    int n = 0;
    while (scanf("%d", &n) == 1)
    {
        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)//右边对角线的条件
                    printf("*");
                else
                    printf("_");//其余的地方都是空格
            }
            printf("\n");//千万要记住每次打完一行就要换行
        }
    }
    return 0;
}

代码展示:

#include <stdio.h>
int main()
{int n = 0;while (scanf("%d", &n) == 1){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)printf("*");elseprintf("_");}printf("\n");}}return 0;
}

二、箭形

输入:2

输出:

   ***
******

输入:3

输出:

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

思路:也是打印空格和打印星,但是划分一下,一部分分为上,一部分分为下,前n行为上,剩下n+1为下,需要注意的是那个j的约束条件不是很好想

#include <stdio.h>
int main()
{
    int i = 0;
    int j =0;
    int n = 0;
    while (scanf("%d", &n)==1)
    {
        //上部分的行
        for(i=0;i<n;i++)
        {
            //打印空格
            for(j=0; j<n-i; j++)
            {
                printf("  ");//这里的空格是两个
            }
            //打印*
            for(j=0; j<=i; j++)
            {
                printf("*");
            }
            printf("\n");
        }
                //下部分的行
        for(i=0;i<n+1;i++)
        {
            //打印空格
            for(j=0; j<i; j++)
            {
                printf("  ");
            }
            //打印*
            for(j=0; j<n+1-i; j++)
            {
                printf("*");//记得每一行打印完要换行
            }
            printf("\n");
        }   
    }
    return 0;
}

代码展示:

#include <stdio.h>
int main()
{int i = 0;int j =0;int n = 0;while (scanf("%d", &n)==1){//上for(i=0;i<n;i++){//打印空格for(j=0; j<n-i; j++){printf("  ");}//打印*for(j=0; j<=i; j++){printf("*");}printf("\n");}//下for(i=0;i<n+1;i++){//打印空格for(j=0; j<i; j++){printf("  ");}//打印*for(j=0; j<n+1-i; j++){printf("*");}printf("\n");}}return 0;
}

三、菱形

#include <stdio.h>
int main()
{
    int line = 0;
    scanf("%d", &line);
    int i = 0;
    //上
    //打印一行
    for (i = 0; i < line; i++)
    {
        //打印空格
        int j = 0;
        for (j = 0; j < line - 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;
}

 将这视为上半部分:有line行,打印空格的条件是line-i,(切记最后那一个空格不要忘了,不然就和下半部分最开头那个星星并齐了)打印星的条件是2 * i + 1,将上部分的打印完了以后,切记每次打完一行要换行。

打印下半部分:下半部分有line+1行,空格的控制条件是j<i,星星的控制条件是 2*(line+1-i)-1,将下部分的打印完了以后,切记每次打完一行要换行。


总结

以上就是我们这次的内容了

图形要观察规律,一般思路就是打印空格,打印星星,寻找控制条件

复杂一点的,可以将其分成两部分去解决,分开解决就把问题变得简单了

c语言-----之图形打印相关推荐

  1. C语言——简单图形打印学习

    A.输出直角三角形 首先,先看一道简单的例题 题目描述 本题要求编写程序,输出指定的三角图案. 输入 输入一个整数 输出 1.按照下列格式输出由"*"组成的三角图案. (1)初学者 ...

  2. C语言-输出* 图形 ** *** **** *****

    C语言-输出* 图形 ** *** **** ***** 外部循环while a循环中的a是用来控制每一行的,变量a等于1时就是第一行,打印一个*:变量a等于2时就是第二行,打印2个*,所以变量a的值 ...

  3. C - C语言实验 图形输出(字符常量练习)

    C - C语言实验--图形输出(字符常量练习) Description 用基本输出语句打印以下图形: # ## ### #### ##### ###### Input 本题目没有输入数据 Output ...

  4. python编写星号菱形中间是空的_简单空实心图形打印|Python练习系列[3]

    练习内容:打印空实心等腰三角形,空实心菱形,空实心梯形,空实心正六边形 简单空实心图形打印|Python练习系列[3]_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.c ...

  5. 用C语言Linux下打印带颜色的字符串

    用C语言Linux下打印带颜色的字符串 字背景颜色范围:40----49 40:黑 41:深红 42:绿 43:黄色 44:蓝色 45:紫色 46:深绿 47:白色  字颜色:30---------- ...

  6. C语言实现图形ADT(Graph ADT)接口COMP2521(附完整源码)

    C语言实现图形ADT接口COMP2521 GraphRep结构体定义 Edge(边)定义 实现以下6个接口 完整头文件 完整源文件 GraphRep结构体定义 typedef struct Graph ...

  7. C语言运行界面字体,C语言实现图形界面登陆窗口.docx

    纯C语言实现图形界面登陆窗口 一下是界面图: 编程工具是:VC6.0 请根据个人需要对源代码进行修改使用,图片放在工程文件夹中.新建时应该将文件后缀设置为.cpp 以下是程序灯源代码: #includ ...

  8. c语言中图形驱动程序功能_C / C ++中的图形:一些更有趣的功能

    c语言中图形驱动程序功能 In this Advance Learning Tutorial of C / C ++ today, we are going to tell you about som ...

  9. 打印中间空了一个的菱形_简单空实心图形打印|Python练习系列[3]

    练习内容:打印空实心等腰三角形,空实心菱形,空实心梯形,空实心正六边形 简单空实心图形打印|Python练习系列[3]_哔哩哔哩 (゜-゜)つロ 干杯~-bilibili​www.bilibili.c ...

最新文章

  1. spring boot学习资料以及DEMO项目
  2. python【数据结构与算法】二分模板
  3. paho mqtt 订阅主题的处理注意事项
  4. 基于JAVA+SpringMVC+Mybatis+MYSQL的企业计划管理系统
  5. 一键就绪的VMware Cloud Foundation
  6. 图像直方图均衡化算法 python实现
  7. Python笔记_第五篇_Python数据分析基础教程_文件的读写
  8. linux下安装打字软件,linux系统指法练习与打字游戏软件
  9. 微pe工具箱是微软的吗_微PE:装机不求人,教你制作最纯净的PE安装系统
  10. 计算机辅助翻译 教学大纲,《计算机辅助翻译》本科课程教学大纲翻译本科
  11. excel软件php函数,excel的函数
  12. HDU 3533 Escape (预处理+BFS)
  13. pycharm中python的默认安装路径_PyCharm下载和安装详细步骤
  14. 计算机cpu温度显示原理图,什么原理测cpu温度_cpu天梯图
  15. Arduino 点灯实验
  16. 专访腾讯云谢岳峰:只做连接器,五大措施支持渠道伙伴成长
  17. 腾讯滑块识别-通用滑块识别
  18. python操作Excel设置打印标题时碰到的一个小问题
  19. MySql查询优化性能调优,sql性能自测方法,及Mysql索引介绍
  20. RedisCluster如何高效率地批量插入数据

热门文章

  1. 结合opencv学习DIP
  2. 语法练习:pos_neg
  3. uniapp给webview进行传参。
  4. 188.武士风度的牛
  5. pythonista3免费下载 itunes下载_‎App Store 上的“Duet Display”
  6. mysql安装了libaio还是报错_ubuntu安装mysql遇到的坑----解决Mysql报错缺少libaio.so.1
  7. 系统设计时先画用例图还是流程图
  8. python课程设计----简单爬虫
  9. 专业名词解析(待更新)
  10. 老站长教你如何启用网站统计工具