1. 程式人生 > >【C語言】輸出“*”菱形圖案

【C語言】輸出“*”菱形圖案

  問題:在螢幕上輸出一個菱形圖案
  目標圖案:
  這裡寫圖片描述
  實現思路:
  由目標圖案可知:該圖案共有13行,每行除了有“*”外,第一個“*”之前還包括空格。我們可以把整個圖案分為上7行和下6行來看。上7行中,空格的個數隨行數增加而減少1,“*”的個數隨行數增加而增加2;下6行中每行的空格數隨行數增加而增加1,“*”的個數隨行數增加而減少2。詳見程式碼中的註釋。
  程式程式碼:

#include<stdio.h>
#include<stdlib.h>
int main()
{
    int x, y, z;
    //上7行
    for (x = 1
; x <= 13; x += 2)//外迴圈控制迴圈層數(共7層) { for (y = (13 - x) / 2; y >= 1; y--)//控制每行中空格的個數 { printf(" ");//首先輸出空格 } for (z = 1; z <= x; z++)//根據外迴圈中的x的值限制z(也就是每行"*"的個數) { printf("*");//在空格後面輸出每行的"*" } printf("\n");//每輸出一行後換行,以方便輸出下一行
} //下6行(方法和上7行類似,不再作註釋) for (x = 11; x >= 1; x -= 2) { for (y = (13 - x) / 2; y >= 1; y--) { printf(" "); } for (z = 1; z <= x; z++) { printf("*"); } printf("\n"); } system("pause"); return
0; }

  輸出結果:
  這裡寫圖片描述