在c語言環境下使用for循環與'*'字符巧妙輸出一個菱形。
首先,輸入預處理指令#include <stdio.h>與函數原型void print(int n)。其中,n表示行數。
 然后,對輸入的n進行提前判斷,若小于0或為偶數,則結束打印。
 接著對上半個菱形進行輸出(包括最長的行)。使用兩層循環進行輸出,分別控制行數與行內的位置。
 接著對下半個菱形進行輸出(包括最長的行)。也使用兩層循環進行輸出,分別控制行數與行內的位置。
 對n=5與n=7進行輸出測試,代碼如下。然后編譯運行得結果如下。
 
 后面附上所有的代碼與完整代碼截圖
以下是所有的代碼:#include <stdio.h>void print(int n){//判斷n是否符合正奇數的要求if(n < 0 || n % 2 == 0)//不符合則直接退出return;//對上半個菱形輸出int i = 1,j = 1;//i控制行數for(i = 1; i <= (n + 1) / 2; i++){//j控制每一行的位置//輸出空格for(j = 1; j <= (n+1)/2 - i; j++)printf(" ");//輸出*for(j = 1; j <= 2 * i - 1; j++)printf("*");//輸出換行printf("\n");}//輸出下一半//i控制行數for(i = 1; i <= n/2; i++){//j控制每一行的位置//輸出空格for(j = 1; j <= i; j++)printf(" ");//輸出*for(j = 1; j <= n -2 * i; j++)printf("*");//輸出換行printf("\n");}}//測試函數,測試n=5和n=7int main(){printf("5\n");print(5);printf("7\n");print(7);return 0;}
 
 0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!