在屏幕上输出星号组成的菱形图案。

来源:互联网 发布:痘痘变硬了怎么办知乎 编辑:程序博客网 时间:2024/04/30 08:46

要求输出如图所示:

  

写代码前先分析一下要怎么打印出这个图案,显然这个图案是上下对称的,上半部分的星号数量递增,下半部分的星号数量递减,有规律可循,所以我们可以先打印上半部分,再打印下半部分。再来看图案的每一行,其实是由空格和星号组成的,例如第一行,是3个空格和1个星号。所以我们可以一行一行的打印,每一行用循环分别打印空格和星号,打印完一行以换行转到下一行继续打印,整个过程就完成了。

#include<stdio.h>void main(){int i,j,k;for(i = 0; i < 4; i++)//在屏幕上打印出上半部分{        for(j = 0; j < 3 - i; j++){printf(" ");}for(k = 0 ; k < 2 * i + 1; k++){printf("*");}printf("\n");}for(i = 0; i < 3; i++) //在屏幕上打印出下半部分{for(j = 0; j <= i; j++){printf(" ");}for(k = 0 ; k < 5 - 2 * i; k++){printf("*");}printf("\n");}}