电脑
codeblocks
首先打开CodeBlocks,创建一个新项目。项目语言,选择“c”, 我们将项目名称命名为“DiamondShape”,然后下一步,“finish”。
创建好项目后,我们打开 “main.c”文件。在这里我们先分析一下题目。打印一个菱形,这里要讲解的是一个7层的菱形。最简单的方法是printf,但是这里我们用算法解决。我们做过许多的c语言程序,但是大部分都是对数据进行处理,很少有处理图形的时候。
首先分析图案:总共有7层 ,最多有7列。 以第4行为基准,我们发现上下是对称的。因此可以先打印上面4行,在打印下面3行即可
需要注意的是,打印的过程中,光标是逐次从左往右的移动,很难直接位移到我们需要的位置。因此,我们可以把空白的地方用“空格”打印出来即可。也就是说这个图形是先打印相应数量的空格,再打印“*”的
根据上面的分析,我们知道需要三个循环一个循环决定行数,一个循环决定空格 ,一个循环决定“*”这样我们可定义3个变量i,j,k分别来表示这些信息
我们首先分析上半部分,也就是前四行。在这里 i,j,k的初始值我们定义为0,也就是说i=0代表第1行,同理 j=0表示打印第一个“*”最后可以列出这样到i,j,k信息(见图)
根据分析,我们发现 i 和 j 以及 k 都有关系。其关系,我们通过规律发现它们符合这样到运算关系j = i * 2k = 2 - i
分析到这,即可以了。我们回到代码部分。首先定义相关变量 i j k第一层循环控制行数。记得每完成一行,就换行操作
然后是 k循环 控制“空格”的打印由于 j与k的关系 在同一层发生,因此这两个循环是并列的,执行完k循环 就执行j循环
这样 上半部分就完成了。接下来同理 完成下半部分(后三行)。关系是 j=4-i*2 k=i
最后我们运行,这就完成了一个菱形。当然除了“*”,也可以改成其他图案,这个自己可以根据喜好修改下面是完整代码:
#include
后续,还将有更多代码的解决方法。
喜欢本经验的话 记得点赞,投票 。
如有问题,可以在下边 提出疑问。