多语言展示
当前在线:1792今日阅读:26今日分享:39

C语言“菱形” 代码讲解

我们做过许多的c语言程序,但是大部分都是对数据进行处理,很少有处理图形的时候。这里讲解'菱形'的打印。
工具/原料
1

电脑

2

codeblocks

方法/步骤
1

首先打开CodeBlocks,创建一个新项目。项目语言,选择“c”, 我们将项目名称命名为“DiamondShape”,然后下一步,“finish”。

2

创建好项目后,我们打开 “main.c”文件。在这里我们先分析一下题目。打印一个菱形,这里要讲解的是一个7层的菱形。最简单的方法是printf,但是这里我们用算法解决。我们做过许多的c语言程序,但是大部分都是对数据进行处理,很少有处理图形的时候。

3

首先分析图案:总共有7层 ,最多有7列。 以第4行为基准,我们发现上下是对称的。因此可以先打印上面4行,在打印下面3行即可

4

需要注意的是,打印的过程中,光标是逐次从左往右的移动,很难直接位移到我们需要的位置。因此,我们可以把空白的地方用“空格”打印出来即可。也就是说这个图形是先打印相应数量的空格,再打印“*”的

5

根据上面的分析,我们知道需要三个循环一个循环决定行数,一个循环决定空格 ,一个循环决定“*”这样我们可定义3个变量i,j,k分别来表示这些信息

6

我们首先分析上半部分,也就是前四行。在这里 i,j,k的初始值我们定义为0,也就是说i=0代表第1行,同理 j=0表示打印第一个“*”最后可以列出这样到i,j,k信息(见图)

7

根据分析,我们发现 i  和 j  以及 k  都有关系。其关系,我们通过规律发现它们符合这样到运算关系j = i * 2k = 2 - i

8

分析到这,即可以了。我们回到代码部分。首先定义相关变量 i j k第一层循环控制行数。记得每完成一行,就换行操作

9

然后是 k循环 控制“空格”的打印由于 j与k的关系 在同一层发生,因此这两个循环是并列的,执行完k循环 就执行j循环

10

这样 上半部分就完成了。接下来同理 完成下半部分(后三行)。关系是 j=4-i*2  k=i

11

最后我们运行,这就完成了一个菱形。当然除了“*”,也可以改成其他图案,这个自己可以根据喜好修改下面是完整代码:

12

#include #include ///打印一个菱形,这里要讲解的是一个7层的菱形。///我们做过许多的c语言程序,但是大部分都是对数据进行处理,很少有处理图形的时候。int main(){    ///定义循环变量    int i,j,k;    ///循环    for(i=0;i<4;i++){        ///i决定行数,循环四次        for(k=0;k<=2-i;k++){            ///k用来打印空格            printf(' ');        }        ///与k处于同一行的j在k循环后执行        for(j=0;j<=i*2;j++){                ///j决定图案            printf('*');        }        printf('\n');///每次循环记得换行    }    ///同理下半部分    /// j=4-i*2  k=i    for(i=0;i<=3;i++)    {        for(k=0;k<=i;k++)            {                printf('%c',' ');            }         for(j=0;j<=4-i*2;j++)        {            printf('%c','*');        }        printf('\n');    }    return 0;}

注意事项
1

后续,还将有更多代码的解决方法。

2

喜欢本经验的话 记得点赞,投票 。

3

如有问题,可以在下边 提出疑问。

推荐信息