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語言程式設計用星號輸出菱形,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語言輸出所有水仙花數,C語言程式設計輸出所有的「水仙花數」。
我是比丘猴 樓主你好 按照你的程式,你可能對於水仙話數有誤解.首先,水仙花數是指一個 n 位數 n 3 它的每個位上的數字的 n 次冪之和等於它本身。例如 1 3 5 3 3 3 153或3 3 7 3 0 3 370 注意 是每個 位上 的數字。而你的原 寫的效果是,例如第一次迴圈1 3 10 3...
c語言指標輸出,C語言指標輸出 char str 2 printf c n , str printf x n , str printf x n ,str
在char str 2 中,str指向了字元 2 的地址,str的記憶體中裝的是字元 2 的地址,但自己也有一個地址,它的地址就是 str。getmemory str 傳入的是指標str自己的記憶體地址,而非它指向的地址 getmemory str 傳入的是指標str指向的地址,而非它自己的地址 首...