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