c語言程式設計輸出菱形圖,C語言輸出一個菱形圖案(有程式)

2021-09-21 09:06:27 字數 5558 閱讀 1088

1樓:匿名使用者

此題解法,我將這個菱形放在了一個二維陣列中,因為用二維陣列可以界定x的邊界,比較方便一點。 迴圈輸出的時候,特別注意迴圈跳出的條件,你畫個二維陣列,體會一下里面的數學關係,多上機改改**,呵呵。要特別注意 q 的用途哦。

#include

void main()

#define n 7    //定義二維陣列的行和列

int i,j;

char a[n][n];

int q=n/2;   //找到陣列的中間列

char t,p;   // 定義輸出字元,t代表x,p代表y

printf("qing shu ru x,y:\n");

scanf("%c,%c",&t,&p);  // 注意此處輸入的時候,不要忘記“,”了哦

for(i=0;ifor(j=0;ja[i][j]=' ';

for(i=0;i//為開始,向兩邊擴充套件,為了輸出x ,注意i迴圈到q-1

a[i][q-i]=t;

a[i][q+i]=t;

for(j=(q-i+1);j<(q+i);j++ )      //以兩邊的x列為邊界,輸出y

a[i][j]=p;

for(i=q;ia[i][q-(n-1-i)]=t;      //仍然是從中間列開始向兩邊擴散,輸出x

a[i][q+(n-1-i)]=t;

for(j=(q-(n-1-i)+1);j<(q+(n-1-i));j++ ) //從x邊界開始從做到右輸出y

a[i][j]=p;

for(i=0;i

printf("\n");

我這裡輸出的是標準的菱形,中間的y的個數和你給的不一樣,如果你想要你的那種結果,只需要在輸出y的時候,將迴圈的邊界再減一個,就可以了,不過圖形是會變形,不會是菱形了。

上機執行的時候,把這些漢字清理了吧,要不可能編譯出問題,好運~

2樓:鷹弈

#include

#include

#define row 3//這裡的數值你可以改,自己試試就明白了int main(void)

printf("\n");

}return 0;}

3樓:

字母的輸出位置是不是對齊的?把原題目說清楚點?

4樓:隻礦一波流

題目是不是錯了,你這個不是標準的菱形

c語言輸出一個菱形圖案(有程式)

5樓:惲長征百燕

i表示行號,打

一行i就加1

j表示某一行需要列印空格的數目

k表示某一行需要列印‘*’的數目

這個程式打了一個7行的菱形,我把程式改一下,把i,j,k的計數都從1開始,看起來會比較直觀

#include

void

main()

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

//然後列印後面三行,行號從1開始計算}

6樓:匿名使用者

菱形,就是如下所示的圖形,總行數與總列數相等:

寫一個程式,根據使用者輸入的總行數,列印出菱形。

這個題目主要是找出規律,考察讀者的邏輯思維。

你可以從第一行開始,遍歷所有的列,也可以從第一列開始,遍歷所有的行。

下面的程式從第一行開始,遍歷所有的列。

設菱形的總行數為line,總列數為column,當前行為i,當前列為j。上半部分與下半部分的規律不一樣,應該分開討論。

我們著眼於星號(*),思考什麼條件下輸出星號,總結出如下的規律。

1) 對於上半部分(包括中間一行),當前行與當前列滿足如下關係輸出星號:

j>=(column+1)/2-(i-1)     (column+1)/2-(i-1)為第i行最左邊的星號

j<=(column+1)/2+(i-1)    (column+1)/2+(i-1)為第i行最右邊的星號

2) 對於下半部分,當前行與當前列滿足如下關係輸出星號:

j>=(column+1)/2-(line-i)     (column+1)/2-(line-i)為第i行最左邊的星號

j<=(column+1)/2+(line-i)    (column+1)/2+(line-i)為第i行最右邊的星號

不滿足上述條件,則輸出空格。

於是寫出如下的**:純文字複製

#include #include int main()column = line;  // 總行數和總列數相同for(i=1; i<=line; i++)else}}elseelse}}printf("\n");}return 0;}

執行結果:請輸入菱形的行數(奇數):11

****

*****

*******

*********

***********

*********

*******

*****

****

7樓:edward司徒文德

用得著6個for迴圈碼?

//列印稜形字母

//注意abs(i)+abs(j)<=k

//用數學的角度分析(假設k為2)

//|x|+|y|<=k

//y<=  2 - x

//y<=  x + 2

//y>= -x - 2

//y>=  x - 2

#include

#include

int main(void)

return 0;

}不懂追問我

學過數學,自己畫個圖你就明白了

8樓:

//#include "stdafx.h"//vc++6.0加上這一行.#include "stdio.h"

void main(void)}

9樓:匿名使用者

這其實可以更簡便的

#include"stdio.h"

#include"math.h"

void main()}

10樓:

你自己畫一個4*4的**(四分之一菱形),按照迴圈畫出菱形圖案你就知道了。k和j都受到i的影響,決定了當前行畫幾個*和空格,i可以理解為行號! 手打

11樓:抬頭望那蒼穹

ijk都是控制迴圈次數的變數

這個程式就是控制在什麼地方顯示*號組成一個菱形

12樓:匿名使用者

上面畫一個三角,下面畫一個反三角。就是菱形了這裡的高度指的是三角行的高度

#include "stdio.h"

void main()

for(int b=1;b<=(i*2-1);b++)printf("\n");

}for(int j=h-1;j>=1;j--)for(int b=1;b<=(j*2-1);b++)printf("\n"); } }

13樓:匿名使用者

#include

void main()

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

14樓:匿名使用者

#include

int main(void)

printf("\n");

}getch();

return 0;}

15樓:手機使用者

#include

void main()

printf("\n");

}for (i = 3; i > 0; i--)printf("\n");}}

console.read();

16樓:匿名使用者

#include

int abs(int a)

int main()

return 0;}

17樓:匿名使用者

void main()

printf("\n");

}getchar();}

18樓:晴川初現

迴圈中巢狀的一個賦值變數

19樓:女王

i控制行數,j控制一行列印的空格數,k代表列印的*的個數

用c語言編寫一個程式輸出菱形圖案

20樓:匿名使用者

#include

int main(void)

for(i=1;i<=n-1;i++)

return 0;}

21樓:**夢幻

#include

#include

void main()

for (i = n - 2; i >= 0; i--)}return;}

22樓:

//#include "stdafx.h"//vc++6.0加上bai這一行

duzhi.

#include "stdio.h"

void main(void)}

c語言程式設計列印菱形的數字圖表

23樓:匿名使用者

#include "stdio.h"

int main() {

int n,i,j;

<=n; i++) {for(j=1; j<=n-i; j++) //畫空格printf(" ");

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

printf("%d",j);//輸出從1到nfor(j=i-1; j>=1; j--)printf("%d",j);//輸出從n-1到1printf("\n");

for(i=n-1; i>=1; i--) {for(j=1; j<=n-i; j++) //畫空格printf(" ");

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

printf("%d",j);//輸出從1到nfor(j=i-1; j>=1; j--)printf("%d",j);//輸出從n-1到1printf("\n");

return 0;

24樓:

#include "stdio.h"

int main()

//下三角

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

}結果:

25樓:home我是吸血鬼

#include

int main(void)

26樓:杳哈哈哈

#include

int main()

{int n,i=1,j=1,k=1,s,x1,x2,x3,x4;

scanf("%d",&n);

for(i=1;i<=n;i++)/*上半部分行的迴圈*/{s=n;

x1=n+1-i;

x2=n+i-1;

for(j=1;j<=x2;j++)/*列的迴圈*/{if(j

c語言,輸入3,輸出,c語言,輸入3,輸出1 2,3 4,

include int main int argc,char argv c語言中如何讓1 2 3 4 5 6 7 8 9 10的結果以小數輸出 首先你要強制轉bai換下1 3 5 7 9 讓他們為dufloat 這樣算出來的結果就zhi為浮點型 float dao1 然後 printf f 列印版 ...

c語言這個輸出是什麼,C語言,這個輸出是什麼???

首先你是不是打錯了,06.1d 應該是 06.1f 這樣才可能輸出,d輸出整形,沒辦法輸出浮點,然版後 06.1f中6是用六個位置,0是指第一個非零數字前用零填充,1小數點後保留1位小數,float又是單精度浮點數,過指定小數位自動四捨五入,是輸出 所以k 100 85.67,輸權出就是0085.7...

c語言程式設計從小到大輸出前素數每行輸出

include include include int iszhishu int num return flag void main number while ncnt 100 system pause 用純c的版本如下 include include bool isprme int k int m...