1、首先,輸入預處理指令#include <stdio.h>與函式原型void print(int n)。其中,n表示行數。
2、然後,對輸入的n進行提前判斷,若小於0或為偶數,則結束列印。
3、接著對上半個菱形進行輸出(包括最長的行)。使用兩層迴圈進行輸出,分別控制行數與行內的位置。
4、接著對下半個菱形進行輸出(包括最長的行)。也使用兩層迴圈進行輸出,分別控制行數與行內的位置。
5、對n=5與n=7進行輸出測試,程式碼如下。然後編譯執行得結果如下。
6、後面附上所有的程式碼與完整程式碼截圖
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;}
1、首先,輸入預處理指令#include <stdio.h>與函式原型void print(int n)。其中,n表示行數。
2、然後,對輸入的n進行提前判斷,若小於0或為偶數,則結束列印。
3、接著對上半個菱形進行輸出(包括最長的行)。使用兩層迴圈進行輸出,分別控制行數與行內的位置。
4、接著對下半個菱形進行輸出(包括最長的行)。也使用兩層迴圈進行輸出,分別控制行數與行內的位置。
5、對n=5與n=7進行輸出測試,程式碼如下。然後編譯執行得結果如下。
6、後面附上所有的程式碼與完整程式碼截圖
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;}