目录

  • 问题呈现
  • 内在剖析
  • 代码实现
  • 结语

问题呈现

字符金字塔是C语言中一个相当经典的问题,也是初学者几乎人人都会刷到的一道题目,但是无论题干如何变化,其内在始终如一。

如上图就是一个字符金字塔的概图,我们也经常会碰到一类题目,要求我们在屏幕上打印出这样类似的图形,今天我们就来学习C语言如何实现基本的字符金字塔打印。

内在剖析

我翻看了一些网站的答题记录,我发现在一些字符金字塔“体型”较小的情况下有不少人选择直接使用一行行printf函数来打印金字塔,我觉得这些人这样做题其实是不好的,因为这题的本质是想让我们使用循环的知识去解决,同样地,当金字塔体型很大时,答题人数就显然不如原来多。那我们就来剖析一下其内在。
我制作了一张图片:

  • 字符金字塔无非就是由行数,空格数和字符数三者决定的图案,当我们找到了这三者之间的规律,问题便迎刃而解了

代码实现

#include<stdio.h>int main(){int linemax = 7;int i = 0;for (i = 1; i <= linemax; i++){int j = 1;for (j = 1; j <= (linemax - i); j++){printf("  ");}for (int star = 1; star < i * 2; star++){printf("* ");}printf("\n");}return 0;}

很显然我们需要使用循环嵌套,因为这里既需要打印一行行,还要在行上打印不同数量的字符。这里有一个小tip,就是我们在打印的时候只需要打印出字符和其左边的空格就可以让图案显示,右边我们不考虑,自然是空格,这也是符合我们总结的规律,如上代码写的一样,使用我们总结的规律就可以写出行打印循环,空格打印循环和字符打印循环。

结语

  • 其实这类问题已经算简单了,只是我看到有人还使用一行行的printf函数来做这题,便写出此文,希望能够给到一部分初学者些许帮助。当你熟练打印这样的金字塔的时候,不妨试试它的变形题?打印如下图这样的菱形试试?我相信你一定能做到!

[C语言循环应用]--打印字符金字塔相关推荐

  1. python打印字符金字塔_打印字母金字塔(python实现)

    打印字母金字塔(python实现) 打印字母金字塔(python实现) 打印一个如图所示的金字塔: 思路: 整个过程分为两部分: 第一部分:分行打印(第一个,也就是最外层的for循环). 第二部分:打 ...

  2. c语言 循环 n个字符

    循环n个字符 先输入一个正整数N,然后输入N个字符,如果全都是大写字母,输出perfect:如果全是小写字母输出 good; 如果全是数字,输出nice,如果前三种情况都不满足输出ok 输入格式: 先 ...

  3. 信息学奥赛一本通C++语言——1021: 打印字符

    [题目描述] 输入一个整数,即字符的ASCII码,保证存在对应的可见字符.输出相对应的字符. [输入] 一个整数,即字符的ASCII码,保证存在对应的可见字符. [输出] 一行,包含相应的字符. [输 ...

  4. C语言 循环结构打印*号三角形

    编写程序,使用循环结构语句打印输出如下图形 **************** #include<stdio.h> int main() {int i,j;for(i=0; i<4; ...

  5. python打印字符金字塔_Python教程第7篇:print打印字符串

    经过我们前面的python环境安装,以及对编辑器的认识,今天我们总算是正式开启了我们的python代码之路了. 相信咱们很多小伙伴,都在咱们的部落窝教育课堂学过Excel函数.小编把Excel里面的函 ...

  6. c语言打印字母金字塔图形,C程序打印金字塔和图案

    C程序打印金字塔和图案 在此示例中,您将学习在C语言编程中打印半金字塔,倒金字塔,全金字塔,倒全金字塔,帕斯卡三角形和弗洛伊德三角形. 要理解此示例,您应该了解以下C语言编程主题: 这是您在此页面中找 ...

  7. c语言打印字符的函数参数,C语言格式化打印函数vsnprintf()的实现

    Linux内核的格式化打印函数是printk(),它与printf()函数是类似的,都是根据格式字符串把可变参数列表转化成字符序列,然后输出到控制台. printf()是打印到标准输出stdout. ...

  8. php打印倒立金字塔,编写程序打印*字符形成的等腰三角形倒立金字塔图形 ******* ***** *** *...

    导航:网站首页 > 编写程序打印*字符形成的等腰三角形倒立金字塔图形 ******* ***** *** * 编写程序打印*字符形成的等腰三角形倒立金字塔图形 ******* ***** *** ...

  9. 【C语言】利用for循环来创建一个金字塔

    先上代码 char ch = 0;ch = getchar();int i = 0;for (i = 0;i < 6;i++){int j = 0;for (j = 0;j < 5 - i ...

  10. 怎某泳c语言输出图形,c语言打印字符图形.doc

    c语言打印字符图形.doc 下载提示(请认真阅读)1.请仔细阅读文档,确保文档完整性,对于不预览.不比对内容而直接下载带来的问题本站不予受理. 2.下载的文档,不会出现我们的网址水印. 3.该文档所得 ...

最新文章

  1. 怎么判断几行_日语高考作文该怎么写,和汉语作文一样吗?
  2. 【Android 插件化】VirtualApp 源码分析 ( 目前的 API 现状 | 安装应用源码分析 | 安装按钮执行的操作 | 返回到 HomeActivity 执行的操作 )
  3. vim 插件_vim插件YouCompleteMe配置
  4. [SPOJ DQUERY] D-query(树状数组,离线)
  5. 上海女白领吃火锅碰瓷,支付宝口碑居然真的要赔?
  6. 自动化测试 之 “好用例、坏用例”
  7. java开源播放器_JavaFX/Java8开发的开源音乐播放器
  8. python socket模块 和pyqt_使用PyQt和Socket进行聊天编程[标准库]
  9. 如何将javaWeb3.1+版本项目 降版本 更换jdk及tomcat
  10. 全站仪和手机连接软件_不懂全站仪?看这篇就够用了
  11. mybatis-plus对datetime返回去掉.0_0欧姆电阻到底有没有用?这12个作用说明其不可或缺...
  12. 分享一个免杀的netcat.exe
  13. 360防火墙拦截oracle,网站被360防火墙拦截怎么办
  14. 设置Shell脚本开机自启
  15. java8421码,8421BCD转余3码Verilog HDL的设计(2)
  16. 火狐(FireFox)黑客常用插件
  17. 反编译+混淆的攻守战
  18. react-native 找不到符号问题的解决方案
  19. protobuf 微信小程序_常州微信小程序开发-Unity3D使用Protobuf、ProtobufHelper
  20. 一本晚看了两年半的书--蓝海战略

热门文章

  1. 数据结构与算法python—5.队列及python实现与leetcode总结
  2. 3.3 决策树分类与回归实战
  3. 数据中台公开课丨可以复用的中台架构建设经验与实践
  4. 店庆遇上双11,买书的最大优惠来了!
  5. 《我也能做CTO之程序员职业规划》之七:大学生职业规划技巧
  6. C和C++中字串符(String)和字符串字面量(String Literal)的区别
  7. mysql8 修改密码_MySQL 8.0 解决:ERROR 2002、ERROR 1045 登陆问题
  8. 一定质量的封闭气体被压缩后_螺杆压缩机转子型线设计原则及发展过程
  9. cnpm 没反应_世界上“最蠢”的鱼, 被吃了一半还没反应, 但永远不会灭绝
  10. mysql怎么进行删除操作_利用PHP怎么对MySQL数据库进行删除操作