文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

C++如何实现二维图形的打印

2023-06-29 03:50

关注

这篇文章主要介绍了C++如何实现二维图形的打印,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

一、下三角图形的打印

C++如何实现二维图形的打印

#include<iostream>using namespace std;int main(){int i , j ; for(i = 1 ; i <= 3 ; i ++) {for (j = 1; j <= (2 * i - 1); j++){cout << "*";}cout << endl ;} return 0 ; }

首先这个图形有三行,为了便于表示,i 直接从 1 开始,至 3 结束,表示纵向一行一行,然后用 j 来横向描述每一行的情形。通过找规律易知,每一行的 * 个数与 i 之间是 2*i-1 的关系,然后就在每一行结束的时候添加换行即可。

二、中三角二维图形的打印

C++如何实现二维图形的打印

#include<iostream>using namespace std;int main() {int i, j;for (i = 1; i <= 4; i++){for (j = 1; j <= 4 - i; j++){cout << " ";}for (j = 1; j <= 2 * i - 1; j++){cout << "*";}cout << endl;}return 0;}

首先,这个图形有四行,每一行需要打印两个元素,一个是前面的空格,另一个就是 * ,行数还是从i= 1 开始标记,横向的 j 每一次要先打印完空格才能打印 * ,而通过找规律可知,前面的空格与行数 i 有空格数 = 4-i 的规律,然后看每一次的 * 呈奇数的关系,即与行数呈 2*i-1 的关系,最后在每一个i结束的时候加上换行即可。

三、上三角图形的打印

C++如何实现二维图形的打印

#include<iostream>using namespace std;int main() {int i, j;for (i = 1; i <= 3; i++){for (j = 0; j <= 2 * i - 2; j++){cout << " ";}for (j = 1; j <= 5 - (2 * i - 2); j++){cout << "*";}cout << endl;}return 0;}

 这个题是当时困扰我最久的了,哎,当时陷入了固定思维,一直在思考这个 * 的个数与i之间的直接联系,0, 2, 4,当真是没找到有啥关系,许是我太笨了,确实没找到有啥关系式可以表示,后来在网上看了别人写的代码,懂得了还有一种表示方法,简直是豁然开朗,醍醐灌顶,当每一行需要表示两种元素的时候,如果一种表示方法很简单,可以用总的长度减去这种简单表示的式子来表示那个较难表示的数量,这种思想跟高数中积分那里有种解题思路相仿。

再来说这个题,首先一共三行,纵向的i从1 开始赋值,到等于3 ,接着是横向的每一行需要表示的元素,空格的数量根据行数一次是0, 2, 4 这种偶数跟i 之间的关系,很容易便知是 2*i-2 的关系,接着就是这个题新开拓出来的方法,用总的数量减去第一种的数量就是第二种的数量,即 5- (2*i-1),然后就是最后了,依旧跟往常一样,在每一行结束的时候加一个换行即可。

四、九九乘法表的打印

C++如何实现二维图形的打印

#include<iostream>using namespace std;int main() {int i, j;for (i = 1; i <= 9; i++){for (j = 1; j <= i; j++){cout << i << "*" << j << "=" << i * j << '\t';}cout << endl; }return 0;}

 这个当初写的时候还花费了蛮长时间,现在重新写竟一下就可以完成,不禁感叹真的是随着见到的知识越来越多,写的一个个小程序也越来越多,真的是能体会到积土成山,风雨兴焉的感慨,哈哈哈回归正题。

这个看着麻烦,其实找到规律,跟之前写的并无两样,行数还是从1 开始表示,可以发现,每一行中的另一个元素 j 都是从1 开始一直到 i ,都是 <= i ,所以这个核心规律就找到了,这个题最重要的是最后输出时的表示方法,因为输出的时候 i ,j 要在不断的变,所以都不需要加双引号, 然后就是根据每一个小单元的输出格式,不变的元素字符就加上双引号,最后为了整洁美观,在输出完每一个小结都要加上一个制表符 \t 来整齐美观,that's all.

最后,我想说的是,我最开始写的时候不知道如何表示每一行的元素个数的方法,依我现在的总结方法就是,努力使每一个式子都跟行数 i 形成直接或间接的关系。

感谢你能够认真阅读完这篇文章,希望小编分享的“C++如何实现二维图形的打印”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网行业资讯频道,更多相关知识等着你来学习!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯