用C程序编写一个程序,用星号拼出O的图形

用C程序编写一个程序,用星号拼出O的图形

image-20250718135948309本文将分享一个简单而经典的C语言练习题:使用*符号在终端绘制出大写字母O。提供详细代码分析、时间复杂度、空间复杂度讲解以及运行效果展示,帮助读者掌握嵌套循环与条件判断的编程技巧。


一、完整C语言绘图代码

#include <stdio.h>

int main() {
    int row, column;
    int row_length = 10;        // 总行数
    int column_length = 10;     // 总列数

    for (row = 1; row <= row_length; row++) {
        for (column = 1; column <= column_length; column++) {
            if (column == 1 || column == column_length) {
                // 第一列与最后一列输出*
                printf("*");
            } else if (row == 1 || row == row_length) {
                // 第一行与最后一行输出*
                printf("*");
            } else {
                // 其他位置输出空格
                printf(" ");
            }
        }
        printf("\n");
    }

    return 0;
}

image-20250718154523825二、运行结果展示

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

image-20250718154535390🎨效果说明

  • 外框由*组成;
  • 内部为空心矩形,模拟了字母O的轮廓。

三、图案绘制逻辑

判断条件输出
第一列(column == 1*
最后一列(column == column_length*
第一行或最后一行(row == 1row == row_length*
其他区域空格

四、时间复杂度分析

  • 外层循环执行row_length次;
  • 每次内层循环执行column_length次;
  • 每次条件判断为常数操作。

时间复杂度
O(row_length×column_length)=O(n2) O(row\_length \times column\_length) = O(n^2) O(row_length×column_length)=O(n2)


五、空间复杂度分析

  • 仅使用了几个简单的整型变量;
  • 不依赖数组、指针等数据结构。

空间复杂度
O(1) O(1) O(1)


六、代码特点总结

项目内容
绘制图案字母 O
绘图方式上下边框 + 左右边框
时间复杂度O(n²)
空间复杂度O(1)
编程难度
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值