c語(yǔ)言輸出菱形
工具/材料
ubuntu+vim+gcc
操作方法
- 01
首先,輸入預(yù)處理指令#include <stdio.h>與函數(shù)原型void print(int n)。
其中,n表示行數(shù)。 - 02
然后,對(duì)輸入的n進(jìn)行提前判斷,若小于0或?yàn)榕紨?shù),則結(jié)束打印。
- 03
接著對(duì)上半個(gè)菱形進(jìn)行輸出(包括最長(zhǎng)的行)。使用兩層循環(huán)進(jìn)行輸出,分別控制行數(shù)與行內(nèi)的位置。
- 04
接著對(duì)下半個(gè)菱形進(jìn)行輸出(包括最長(zhǎng)的行)。也使用兩層循環(huán)進(jìn)行輸出,分別控制行數(shù)與行內(nèi)的位置。
- 05
對(duì)n=5與n=7進(jìn)行輸出測(cè)試,代碼如下。
- 06
編譯運(yùn)行后的結(jié)果如下
- 07
以下是所有的代碼:
#include <stdio.h>
void print(int n)
{
//判斷n是否符合正奇數(shù)的要求
if(n < 0 "| n % 2 == 0)
//不符合則直接退出
return;
//對(duì)上半個(gè)菱形輸出
int i = 1,j = 1;
//i控制行數(shù)
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控制行數(shù)
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");
}
}
//測(cè)試函數(shù),測(cè)試n=5和n=7
int main()
{
printf("5\n");
print(5);
printf("7\n");
print(7);
return 0;
}
詞條內(nèi)容僅供參考,如果您需要解決具體問(wèn)題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。