C语言实现循环打印星号图形再镂空

下面是“C语言实现循环打印星号图形再镂空”的完整攻略。

基本思路:

  1. 通过循环嵌套打印出星号图形;
  2. 按照规定镂空区域,将对应位置上的星号替换为空格。

代码实现:

以下是一份示例代码,仅供参考:

#include<stdio.h>

int main()
{
    int i,j,m,n;
    printf("请输入一个行数:");
    scanf("%d",&n);
    for(i=1;i<=n;i++)   //打印外部图形
    {
        for(j=1;j<=n-i;j++)
        {
            printf(" ");
        }
        for(m=0;m<2*i-1;m++)
        {
            printf("*");
        }
        printf("\n");
    }
    for(i=1;i<=n-1;i++)   //打印内部镂空
    {
        for(j=1;j<=i;j++)
        {
            printf(" ");
        }
        for(m=1;m<=(n-i)*2-1;m++)
        {
            if(m==1 || m==(n-i)*2-1)
            {
                printf("*");
            }
            else
            {
                printf(" ");
            }
        }
        printf("\n");
    }
    return 0;
}

输入行数,代码中使用了 scanf() 函数获取用户输入的值,使用了循环语句来完成图形的打印。为了更好的阐明实现过程,下面给出两条具体的代码示例说明。

代码示例1:

以下是一份具体的示例代码,该代码输入行数为 5,输出的结果为实心的五角星。

#include <stdio.h>

int main() {
    int i, j, n = 5;
    for (i = 1; i <= n; i++) {
        for (j = 1; j <= n - i; j++)
            printf("   ");
        for (j = 1; j <= (2 * i - 1); j++)
            printf(" * ");
        printf("\n");
    }
    return 0;
}

上述示例代码中使用了两重循环,第一重循环按行打印空格数,第二重循环按行打印星号数,并在每个字符后面加上三个空格,从而输出更清晰的图形。

代码示例2:

以下是一份具体的示例代码,该代码输入行数为 5,输出的结果为实心的菱形。

#include <stdio.h>

int main() {
    int i, j, n = 5;
    for (i = 1; i <= n; i++) {
        for (j = 1; j <= n - i; j++)
            printf(" ");
        for (j = 1; j <= 2 * i - 1; j++)
            printf("*");
        printf("\n");
    }
    for (i = n - 1; i >= 1; i--) {
        for (j = 1; j <= n - i; j++)
            printf(" ");
        for (j = 1; j <= 2 * i - 1; j++)
            printf("*");
        printf("\n");
    }
    return 0;
}

上述示例代码中,首先打印一个实心的菱形,然后在下方打印出一个空心的菱形。该代码使用了两重循环,并在第二个循环中使用了判断语句,判断是否需要打印星号或者空格,来完成镂空的操作。

以上就是“C语言实现循环打印星号图形再镂空”的完整攻略,希望对你有所帮助。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C语言实现循环打印星号图形再镂空 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • C 语言基础教程(我的C之旅开始了)[二]

    C 语言基础教程(我的C之旅开始了)[二]攻略 1. 基本数据类型 文章中提到了 C 语言的基本数据类型,包括了整型、浮点型、字符型和指针型。其中整型可以分为有符号和无符号两种,我们可以通过给数据类型指定修饰符来定义它是有符号还是无符号的。 此外,C 语言还有一个关键字 typedef,它可以为现有的数据类型创建一个新的别名。比如我们可以给 unsigned…

    C 2023年5月23日
    00
  • C语言实现逆波兰式实例

    C语言实现逆波兰式实例 逆波兰式是一种数学表达式表示法,也称为后缀表达式。与常见的表达式表示法不同,逆波兰式将操作数放在操作符之前,能够方便地使用栈等数据结构进行表达式的求解。在C语言中实现逆波兰式求值可以采用栈的数据结构进行实现。本文将介绍基于栈的C语言实现逆波兰式的完整攻略。 逆波兰式的基本原理 逆波兰式可以通过以下步骤进行转换: 从左到右扫描中缀表达式…

    C 2023年5月23日
    00
  • C语言 strchr()函数

    当要在一个字符串中查找某个字符的位置时,可以使用C语言中的strchr()函数。下面是strchr()函数的完整使用攻略。 函数原型 char *strchr(const char *str, int c); 在参数str所指向的字符串中搜索第一次出现字符c的位置。如果成功找到指定的字符,该函数返回指向该字符的指针;否则返回NULL。 参数说明 str:要查…

    C 2023年5月9日
    00
  • C语言goto语句简单使用详解

    标题及概述 C语言goto语句简单使用详解 本篇文章主要介绍C语言中的goto语句,在程序中使用goto语句可以跳转到程序中的指定标记处,便于程序的编写和调试。 goto语句的基本语法 goto语句的基本语法如下: goto label; 其中,label为指定的标记名称,可以位于任何一个语句之前或者其中。 goto语句的使用方法 在程序中使用goto语句可…

    C 2023年5月23日
    00
  • C++ Cartographer源码中关于MapBuilder的声明与构造

    在C++ Cartographer源码中,MapBuilder模块的声明与构造均源于同一文件map_builder.h。这个文件定义了MapBuilder类,是生成地图的核心类之一,因为它将传递的轨迹数据和传感器数据相融合,生成完整的地图。下面展示了MapBuilder类的声明: class MapBuilder { public: … void Loa…

    C 2023年5月22日
    00
  • C++实现图书管理系统简易版

    C++实现图书管理系统简易版攻略 前言 图书管理系统是一种基础的管理系统,它可以帮助管理员管理图书信息和读者信息,完成借阅、归还等基本操作。本文将详细介绍如何使用C++编程实现图书管理系统的简易版。 实现步骤 1. 确定需求 在编写代码之前,需要明确所要实现的功能需求。基本需求如下: 管理员可以添加图书和删除图书 管理员可以添加读者和删除读者 读者可以查询图…

    C 2023年5月24日
    00
  • jQuery+ajax+asp.net获取Json值的方法

    获取Json值是Web开发中非常常见的任务,基于jQuery和Ajax技术结合asp.net框架可以轻松实现这一功能。下面是获取Json值的完整攻略: 1. 使用jQuery+Ajax获取Json值的基本流程 使用jQuery的$.ajax函数向服务器端发送GET或POST请求,并指定相应参数(包括请求类型、请求地址、数据类型等); 服务器端返回JSON格式…

    C 2023年5月23日
    00
  • Spring事务捕获异常后依旧回滚的解决

    当Spring事务捕获到异常后,通常情况下会自动进行回滚操作,但是有时候我们需要在某些异常情况下不进行回滚。这个时候就需要对Spring事务进行特定的配置来实现。 以下是”Spring事务捕获异常后依旧回滚的解决” 的完整攻略: 1.配置@Transactional注解 要配置较为简单方便地解决回滚问题,我们可以直接使用@Transactional注解进行配…

    C 2023年5月23日
    00
合作推广
合作推广
分享本页
返回顶部