c語言空心字元菱形,C語言空心字元菱形

2021-12-19 09:48:51 字數 1793 閱讀 4491

1樓:匿名使用者

#include

main()

int n=0,i=0,j=0;char c='\0';

scanf("%c%d",&c,&n);

for(i=1;ifor(j=0;jprintf("%c",c+i-1);

for(j=1;i-1>0>0&&j<=2*i-3;j++) printf(" ");

if(i-1>0) printf("%c",c+i-1);

printf("\n");

for(i=n-1;i>0;i--)

for(j=0;jprintf("%c",c+i-1);

for(j=1;i-1>0>0&&j<=2*i-3;j++) printf(" ");

if(i-1>0) printf("%c",c+i-1);

printf("\n");

我是用的小寫,給你看看結果:

正確的!!

發現 愛脫臼之後 的答案好像不行啊。。。。

二樓的答案是對的,和我相比多了一個庫,也用了指標,感覺要麻煩一點點。。。(不要罵我啊)

註釋我發給你了,樓主注意看訊息啊。。。。

2樓:

#include "stdio.h"

#include "stdlib.h"

int main (void)

system ("pause");

return 0;}

3樓:愛脫臼之後

#include

main()

printf("\n");

}for(i=n-1;i>=1;i--)

printf("\n");}}

已通過驗證

4樓:永遠的散漫

沒時間寫 給你個建議吧 用列舉 或者陣列 來放字元

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

5樓:

#include

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

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

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

0123456

0   *

1  * *

2 *   *

3*     *

4 *   *

5  * *

6   *

從上圖可以看出來,

第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)

6樓:想不到好名字

風格充滿ntuj6sxrtdhxdf

C語言 用星號輸出菱形。c語言輸出菱形星號程式詳解

include int main int total 7 每行空格 星號的總字元數int x,j,k 用做迴圈的變數。int xx,kg xx表示 號個數,kg表示空格個數 單邊,左邊 xx 1 開始的時候,第一行 號個數為1for x 0 x 7 x 一共輸出7行kg total xx 2 空格的...

用c語言中的for迴圈輸出菱形,C語言程式設計,用一個for迴圈列印菱形

include int main for a 1 a i a for b 0 b i 2 b for c a c i c printf n for j 1 j a j for d 1 d j d for e a e j e for f a 1 f j f for g 0 g j 1 g printf...

c語言字串字母大小寫轉換,C語言字串字母大小寫轉換

scanf預設情況下碰到 空格 就會結束輸入,所以上面的 p 40 只會得到 hello 後面就斷了。最簡單的辦法就是用 gets p 代替 scanf s p 這行。scanf也可以接受 空格,請查閱 修飾符的具體用法。include int main void str i 0 printf s ...