输出图案(六)---输出空心矩形

本文提供了两种使用C语言实现空心矩形打印的方法。通过用户输入矩形的宽和高,程序将输出由星号(*)组成的相应大小的空心矩形。程序还包含了错误检查以确保输入的有效性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

输入矩形的宽,高,输出该空心矩形,用*来进行表示

参考代码1:

#include <stdio.h>

int main()
{
    int w, h, i, j;
    printf("输入矩形的宽和高\n");
    scanf_s("%d%d", &w, &h);
    if (w <= 0 || h <= 0)
    {
        printf("宽度和高度都要大于0\n");
        return 0;
    }
    for (i = 0; i < h; i++)
    {
        for (j = 0; j < w; j++)
        {
            if (i == 0 || i == h - 1 || j == 0 || j == w - 1)
                printf("* ");
            else
                printf("  ");
        }
        printf("\n");
    }
    return 0;
}

参考代码2:

#include <stdio.h>

int main()
{
    int w, h, i, j;
    printf("输入矩形的宽和高\n");
    scanf_s("%d%d", &w, &h);
    if (w <= 0 || h <= 0)
    {
        printf("宽度和高度都要大于0\n");
        return 0;
    }
    for (i = 0; i < w; i++)
        printf("* ");
    printf("\n");

    for (i = 1; i < h - 1; i++)
    {
        printf("*");
        for (j = 1; j < w - 1; j++)
            printf("  ");
        printf(" *");
        printf("\n");
    }

    if (h > 1)
    {
        for (i = 0; i < w; i++)
            printf("* ");
        printf("\n");
    }
    return 0;
}

运行结果:
这里写图片描述

### 使用 Python 的 `for` 循环打印图案或图形 以下是几种常见的图案(三角形、矩形、菱形)的实现方法,基于提供的引用内容和专业知识。 #### 1. 输出直角三角形 通过嵌套的 `for` 循环控制每一行星号的数量,逐层增加形成直角三角形。 ```python rows = 5 for i in range(1, rows + 1): # 控制行数 for j in range(i): # 控制每行的星号数量 print("*", end="") print() # 换行 ``` 上述代码会输出如下直角三角形[^1]: ``` * ** *** **** ***** ``` #### 2. 输出正方形矩形 通过两个嵌套的 `for` 循环分别控制行数和列数,从而构成一个完整的矩形。 ```python rows = 5 cols = 5 for i in range(rows): # 行数 for j in range(cols): # 列数 print("*", end="") print() ``` 该代码将生成一个由星号组成的正方形矩形[^2]: ``` ***** ***** ***** ***** ***** ``` #### 3. 输出空心金字塔 为了创建一个空心的金字塔结构,在中间部分填充空白字符而非星号。具体逻辑见以下代码: ```python n = 7 for i in range(1, n + 1): if i == 1 or i == n: # 首尾两行为实线 print(" " * (n - i) + "*" * (2 * i - 1)) else: print(" " * (n - i) + "*" + " " * (2 * i - 3) + "*") ``` 此代码可生成带有内部空间的金字塔形状[^3]: ``` * *** ***** ********* *********** ************* *************** ``` #### 4. 绘制简单的雪花图案 虽然不是严格意义上的文字打印,但可以通过 Turtle 库绘制复杂的几何图案如雪花。这是一个基础示例: ```python import turtle def draw_snowflake(length, depth): if depth == 0: turtle.forward(length) else: length /= 3 draw_snowflake(length, depth - 1) turtle.left(60) draw_snowflake(length, depth - 1) turtle.right(120) draw_snowflake(length, depth - 1) turtle.left(60) draw_snowflake(length, depth - 1) # 设置初始状态 turtle.speed('fastest') turtle.penup() turtle.goto(-150, 0) turtle.pendown() # 开始绘制边形雪花 for _ in range(6): draw_snowflake(300, 4) turtle.right(60) turtle.done() ``` 这段脚本利用递归调用来构建分形雪花模型[^5]。 ---
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值