C语言编程 输出下图所示 求解

此次我们使用whilei循环输出打印图形:菱形,且使用两种不同的运行思路

思路1:既然我们可以输出三角形,那么可以使用两个三角形(其中一个倒立)使两个三角形对接依次来拼出菱形:

倒立三角形(由于具体思路与正立三角形的几乎相同因此不做注释,且变量名代表的含义都相同)

当我们直接拼接时得如图:

我们会发现图形输出为14行,且有相邻的两行数量一致的情况,这不符合要求,因此我们可以使用

break语句来实现两个while之间的衔接如图:

 仔细观察便得知:在执行倒立三角形循环时,变量的数值有误

 整体思路不变,通过修改第二个大循环的初值来使值得到变化:

在使用此思路之后,感觉程序太过冗余,那么有什么办法能够简化程序呢?

通过观察上一张图片,可以得知:每一行的星号数=行数-空格数*2

且第一行空格数为:(7-1)/2=3(当然在写程序时,不需要减一,因为整型数值的除法为向下取整,则依次使用为:行数/2-a(这里的a代表0,且随着行数的递增也依次加一)

此时,也会发现一个问题,例如在输入7时,图形在第四行就已经没有空格了,那接下来不久出错了吗?

解决办法:使用绝对值函数,在c=-1时,使用函数之后,则变为c=1

 感谢您的观看!!!

第4章 循环结构; 本章主要介绍了循环结构中的while语句dowhile语句和for语句掌握循环结构语句的一般形式和执行过程理解break和continue语句在循环体中的作用能运用循环语句进行简单的循环结构程序设计能初步分析程序运行结果; 1.程序填空要求计算1-2+3-4+5-100的值; 2.程序填空要求统计10个整数中的奇偶数的个数; 3.程序填空要求按下图所示格式输出99乘法表; 4.

fwrite, fopen, fread等等这些函数你都了解了么,下面是一个基本的使用,最好问问题的时候先自己敲一段代码来问,把问题具体化,别人才愿意回答

我要回帖

更多关于 C语言编程用什么软件 的文章

更多推荐

版权声明:文章内容来源于网络,版权归原作者所有,如有侵权请点击这里与我们联系,我们将及时删除。

点击添加站长微信