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 ...