ubuntu+vim+gcc
起首,輸入預處置指令#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=7
int main()
{
 printf("5\n");
 print(5);
 printf("7\n");
 print(7);
 return 0;
}
0 篇文章
如果覺得我的文章對您有用,請隨意打賞。你的支持將鼓勵我繼續創作!