用c語言做出乙個空心的菱形?

2025-06-22 10:05:29 字數 1788 閱讀 1939

1樓:匿名使用者

先拿一張格仔紙,把你的空心稜形畫在紙上,畫到滿意為止,然後以左上角為零點,輸入電腦,有圖形的畫圖形,沒有圖形的畫空字元,然後輸出就行了……

用c語言怎樣打出菱形和空心菱形

2樓:風若遠去何人留

先找規律。

每行空格的個數。

的個數。然後迴圈列印。

比如菱形。如果高度為n

那麼 每行空格的個數依次為n-1 n-2 ..0*個數為1 3 5 7 ..2*n+1列印上半部之後 再同理列印下半部。

而空心菱形,則是多一步計算,中間的空格數。稍複雜一點點而已。

如何用c語言編寫程式,列印乙個空心菱形,用迴圈寫

3樓:匿名使用者

#include

#include

int main(void)

int n,i,j;

printf("請輸入空心稜形的邊長n(n>=2整數):");

while(j--)printf(" ");

printf("*");

j=4*(n-abs(i))-5;

while(j-->0) printf(" ");

if(n-1!=abs(i)) printf("*");

printf("");

return 0;

4樓:網友

#include

int main(void)

當i=1時 由第25行**輸出*

if(i == 1){}

else/空心空格個數列印 0 2 4 6 16個for(j=1;j<2*i-2;j++)

printf(" *");

printf("");

/下空心菱形。

for(i=1;i<=9;i++)

最後一行*號由**43行執行。

if(i == 9){}

else/空心空格個數列印 15 13 ..1 注意空格是15開始 1結束。

for(j=1;j<=17-2*i;j++)printf(" *"); //列印每行後出現的*printf(""); //換行 }}

如何實現c語言程式設計輸出空心菱形

5樓:網友

#include

其實列印三角形啦,菱形啦,思路都是一樣一樣的,都是按行找規律,然後按照每行的規律按行列印就好了。。。

比如以下是每條邊有n=4個*的菱形(邊長是4)。

c語言都是按行輸出的,我們只要分析第i行要輸出些什麼就好了:

從上圖可以看出來,第0行要輸出3個空格,1個*

第1行要輸出2個空格,1個*,1個空格,1個*第2行要輸出1個空格,1個*,3個空格,1個*第3行要輸出0個空格,1個*,5個空格,1個*第4行要輸出1個空格,1個*,3個空格,1個*第5行要輸出2個空格,1個*,1個空格,1個*第6行要輸出3個空格,1個*

再看上面得出的規律,除了第0行和第6行,其他的都是同乙個模式:

對於第i行,列印k1個空格,1個*,k2個空格,1個*。

而且從第4行開始就跟上面對稱了,我們完全可以只分析0~3行:

在第i = [0, 3]行內:

對於第i行,列印k1=n-i-1個空格,1個*,k2=2*i-1個空格,1個*。

例外:第0行得到的k2=-1小於0,此時不列印空格也不列印第二個*。

然後我們就可以弄乙個小函式啦:

void printline(int i, int n)

用c語言編譯個程式,用C語言怎麼編寫一個從1加到10的程式 新手求解

第一題 輸入一個整數,判斷它是否能被3和5同時整除第二題 程式設計求1!2!3!n!之和第三題 輸入2個正整數m和n,求最大公約數和最小公倍數。第四題 編一個程式,根據使用者輸入的數字 1 7 輸出英文的星期名稱 include int main include long int jiechen i...

C語言的問題,一個C語言的問題

1全部 是位移符號 用來將一個數的各二進位全部左移若干位.例如 a a 2 將a的二進位制數左移2位,右補0.若a 15,即二進位制數00001111,左移2位得00111100,即乘了4.但此結論只適用於該數左 移時被溢位捨棄的高位中不包含1的情況.例如,假設以一個位元組 8位 存一個整數,若a為...

c語言求和,C語言!求一個求和的程式。

3全部先獲取陣列長度,然後用for迴圈,從陣列中獲取值進行累加求和。include include int main int n int val int a int sun 0,i printf 請輸入陣列的長度 scanf d n printf n a int malloc n sizeof in...