当前位置: 首页 > article >正文

《C语言实现金字塔图案打印》

在这里插入图片描述

🚀个人主页:BabyZZの秘密日记
📖收入专栏:C语言练习题分享


🌍文章目入

    • 程序代码
    • 程序功能
    • 程序分析
      • 外层循环
      • 内层循环
      • 输出结果
    • 示例运行
    • 总结

在学习编程的过程中,打印图案是一个非常有趣的练习,它可以帮助我们更好地理解循环和嵌套结构的使用。今天,我们将通过一个简单的C语言程序,实现一个金字塔图案的打印。

程序代码

#include <stdio.h>

int main()
{
    int n = 0;
    while (scanf("%d", &n) != EOF)
    {
        for (int i = 0; i < n; i++)
        {
            for (int j = n; j - i - 1 > 0; j--)
            {
                printf(" ");
            }
            for (int k = 0; k <= i; k++)
            {
                printf("* ");
            }
            printf("\n");
        }
    }
    return 0;
}

程序功能

这个程序的功能是根据用户输入的数字n,打印出一个高度为n的金字塔图案。金字塔的每一层由*组成,每一层的*数量逐层增加,同时每一层的*前面有适当数量的空格,以保证图案的对称性。

程序分析

外层循环

程序的核心是一个while循环,它通过scanf函数不断读取用户输入的数字n,直到用户输入结束标志(通常是Ctrl+ZCtrl+D,取决于操作系统)。这种设计使得程序可以连续处理多个输入,而不需要每次重新运行程序。

内层循环

对于每个输入的n,程序通过两层嵌套的for循环来打印金字塔的每一层。

  1. 打印空格
    第一层for循环的作用是打印每一行前面的空格。空格的数量取决于当前行号i和金字塔的总高度n。具体来说,空格的数量为n - i - 1。这样可以保证金字塔的对称性,使得每一行的*都居中对齐。

  2. 打印*
    第二层for循环的作用是打印每一行的*。每一行的*数量为i + 1,即随着行号的增加,*的数量也逐层增加。

输出结果

每打印完一行后,程序通过printf("\n")换行,从而实现金字塔的逐行打印。

示例运行

假设用户输入5,程序的输出如下:

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

可以看到,金字塔的每一层都居中对齐,且*的数量逐层增加,形成了一个美观的金字塔图案。

总结

这个程序虽然简单,但却很好地展示了C语言中循环结构和嵌套循环的使用。通过合理地控制空格和*的数量,我们可以实现各种有趣的图案打印。在学习编程的过程中,多尝试类似的练习,可以加深对循环和条件语句的理解,提高编程能力。希望这个程序对你有所帮助!


http://www.kler.cn/a/613267.html

相关文章:

  • CSS学习笔记6——网页布局
  • CSS-BFC(块级格式化上下文)
  • 企业为何青睐数字孪生大屏?技术驱动与价值重构的双重逻辑
  • 市场价格变动的影响因素及趋势研判
  • 如何应对硬件测试覆盖率不足导致量产故障
  • 深入理解 Linux 文件权限:从 ACL 到扩展属性,解剖底层技术细节与命令应用
  • 将 PDF 转换为 Word — 固定布局 vs 重排布局?
  • HCIA【ACL】
  • 刷题记录(LeetCode 994.腐烂的橘子)
  • 深入理解二叉树、B树与B+树:原理、应用与实现
  • 机器学习中的数学知识
  • Node.js Express 处理静态资源
  • android开启Sys V IPC,并使用共享内存编程
  • 基于音频驱动的CATIA动态曲面生成技术解析
  • MFC TRACE 宏的使用说明
  • MATLAB中getfield函数用法
  • 2025 年吉林省燃气企业从业人员考试:实用备考攻略与考试提分要点​
  • package.json版本前缀
  • 71. 我的第一个Linux驱动实验
  • ai画图comfyUI lora风格特化。