C语言打印菱形

如何用C语言实现打印菱形,这对很多初学者来说是个很麻烦的问题。菱形图案是一个常见的编程练习,通过它,可以学习到如何使用嵌套循环在屏幕上打印图形。接下来我们来分析一下如何来实现这个问题。

 C语言打印菱形_第1张图片

看到这个图形里面有这么多的星号,首先我们想到的当然是利用循环来实现多次打印。从行数来看有13行,但是每一行的空格和星号的数量并不是随着行数的增加而增加的。所以我们要将这个图形一分为二来完成。

上半部分:

C语言打印菱形_第2张图片

根据右侧的数据来看,空格的数量和行数相加总是等于上半部分的总行数,那么在打印空格的循环里条件是不是就是<总行数-行数。那么写出来的代码就是这样的。

C语言打印菱形_第3张图片

其次星号的数量总是等于行数的2倍再减去1。那么写出来的代码就是这样的。C语言打印菱形_第4张图片

这两部分一起放入一个表示总行数的大循环里,写出来的代码就是这样的。

C语言打印菱形_第5张图片

上半部分打印逻辑为:

1.使用两个嵌套的循环,外层循环控制行数,从1到a。
2.内层循环用于打印空格,数量为a-i,这样每一行的空格数量逐渐减少。
3.另一个内层循环用于打印星号(*),数量为2*i-1,这样每一行的星号数量逐渐增加。

理解了上半部分,下半部分就非常容易了。

下半部分:

C语言打印菱形_第6张图片

根据数据可知,空格的数量总是等于行数-1。那么写出来的代码就是这样的。

C语言打印菱形_第7张图片

星号的数量看起来好像和行数的关系并不是很大,这个时候就要带入值来找出规律。

C语言打印菱形_第8张图片

那么写出来的代码就是这样的。

C语言打印菱形_第9张图片

和上半部分一样,下半部分也要装进表示总行数的大循环里,写出来的代码就是这样的。       

C语言打印菱形_第10张图片下半部分打印逻辑为:

1.外层循环控制行数,从1到a-1。
2.内层循环用于打印空格,数量为i,这样每一行的空格数量逐渐增加。
3.另一个内层循环用于打印星号,数量为2*(a-i)-1,这样每一行的星号数量逐渐减少。

总体的代码为:

C语言打印菱形_第11张图片

如果对你有帮助的话,就动动小手点个赞叭!

你可能感兴趣的:(c语言,学习)