1樓:清風
1.n=5時,(j=3,;j>=0;j--),j=0,1,2,3,各輸出一個空格。
2.這個是i先加完在進行判斷,是否小於等於5,如果不小於等於,不會執行下面語句。
3.這個是程式設計師自己想的演算法,他想要輸出這樣的模型,就自己想出了一個數學公式,按照這個公式來就可以了,並不是程式判斷要輸出這個圖形,他就自己判斷,在這停止,程式可沒那麼智慧
2樓:
1)n = 5 ,從1 到 5不是隻有五次麼,你的i不是從0開始。
2)當執行到第四次時 j = 3而 j >= 4 就開始不成立了。
3樓:匿名使用者
for(i = 1; i <=n; i++) /* 外迴圈的次數為圖案的行數 n=5時,迴圈1-5共五次*/
for(j = 1; j <= 2 * i - 1; j++) /* 第2個內迴圈負責輸出每行中的* 這裡迴圈1-2*i-1 即1 3 5 7 9 次迴圈*/
printf("\n"); /* 負責換行 */}for迴圈語句如下:分成三部分,各部分間用分號分隔for( 初始化變數 ; 退出條件 ; 迴圈變數變化 )退出條件 當條件返回假時,結束迴圈
4樓:匿名使用者
樓主,給你一個具體例子來講解了一下,如果可以的話,望採納1111
11111
1111111
假設行號為n,最大的行號為m
首先我們給每一行編號,這是第一個最外層的大迴圈每一行有「 」空格字元的個數是m-n個
每一行有的字元1的個數是2n-1個
以上兩個就是你的迴圈退出條件
先列印「空格」再列印「字元1」,再每行迴圈完成後再列印一個「\n」
5樓:倒黴熊
(1) 第一行,也就是i=1 ; j=n-2=3 j>=i-1=1-1=0 ;j迴圈從 3 到 2 到 1 到 0,迴圈4次啊,輸出4個空格。
(2) 外層迴圈後,i加到6了,但是i= 6<=n=5不成立,所以不滿足迴圈條件了,迴圈結束了。所以共輸出5行。
(3) 第一個迴圈怎麼控制空格數量,見(1)的分析,通過j的迴圈來控制的啊。
(4) 通過j迴圈來輸出空格,迴圈結束了,就不輸出空格了,它不知道在什麼位置停止,而是你讓輸出幾個就輸出幾個。
用c語言程式設計輸出菱形 圖案
6樓:胖友愛籃球
#include
void main()
for(i=1;i<=3;i++) }
擴充套件資料:
for迴圈
for迴圈結構是c語言中最具有特色的迴圈語句,使用最為靈活方便,它的一般形式為:
for(表示式1;表示式2;表示式3)迴圈體語句 。(其中;不能省略)
表示式表示式1為初值表示式,用於在迴圈開始前為迴圈變數賦初值。
表示式2是迴圈控制邏輯表示式,它控制迴圈執行的條件,決定迴圈的次數。
表示式3為迴圈控制變數修改表示式,它使for迴圈趨向結束。
迴圈體語句是在迴圈控制條件成立的情況下被反覆執行的語句。
但是在整個for迴圈過程中,表示式1只計算一次,表示式2和表示式3則可能計算多次,也可能一次也不計算。迴圈體可能多次執行,也可能一次都不執行。
先執行表示式2,然後執行迴圈結構,最後表示式3,一直這樣迴圈下去。
for迴圈語句是c語言種功能最為強大的語句,甚至在一定程度上可以代替其他的迴圈語句。
dodo迴圈結構,do 1 while⑵;的執行順序是1->2->1...迴圈,2為迴圈條件。
while
while迴圈結構,while(1) 2; 的執行順序是1->2->1...迴圈,1為迴圈條件
以上迴圈語句,當迴圈條件表示式為真則繼續迴圈,為假則跳出迴圈。
7樓:設計複雜
1、首先在電腦中開啟c語言編輯器,新建一個原始檔,如下圖所示。
2、然後寫入**,如下圖所示,源**如下:#include//用c語言迴圈來畫出數字構成的菱形 。
3、繼續輸入**,如下圖所示,for(i=1;i<=n-1;i++) //輸出下半個三角形 if(i==n-1)printf("1");else{for(t=1;t<=n-i;t++)。
4、最後點選編譯並執行,如下圖所示,然後輸入n就能看到結果了,菱形圖案。
8樓:風若遠去何人留
迴圈輸出, 只要確定了空格的個數就可以。
int main()
for (j = 0; j < 2 * i+1; j++)printf("\n");
} for (i = 0; i < line - 1; i++)for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
printf("\n");
} system("pause");
return 0;
}這個是實心菱形的**。
9樓:滄海雄風
#include
int main()
for (j = 0; j < 2 * i+1; j++)printf("\n");
} for (i = 0; i < line - 1; i++)for (j = 0; j < 2 * (line - 1 - i) - 1; j++)
printf("\n");
}return 0;
} 5
****
*****
*******
*********
*******
*****
****
請按任意鍵繼續. . .
10樓:聽不清啊
#include
#include
int main()
{int n,i,j;
scanf("%d",&n);
for(i=1-n;i<=n-1;i++){for(j=0;j
11樓:匿名使用者
/*用如下語句輸出比較好理解,主要是迴圈結構的巢狀語句發揮作用,注意空格和星號的遞增關係*/並且你需要多少行,就能輸出多少行。精煉!#include "stdio.h"
void main()
printf(" ");
for(i=0;i<=n;i++)}
12樓:匿名使用者
提供2個
#include
void main()
for(i=1;i<=3;i++) }
#include
#include
main() }
13樓:4747哦
#include
main()
printf("\n"); //輸出第i行的*以後,換行執行i+1行的迴圈
}//以下程式執行倒星三角形
for(i=0;i<(m-1)/2;i++) //剩下行數m-(m+1)/2=(m-1)/2
printf("\n");}}
14樓:
/*曼哈頓距離原理 解決輸出菱形問題
*/#include
using namespace std;
int main()
cout< }return 0;} 15樓: 譚浩強第四版課後題答案 #include int main() for(b=1;b<=2*i-1;b++)//控制每行*的個數printf("\n"); }//後3行,下半部分 for(i=n-1;i>=1;i--)//控制前四行行數for(b=1;b<=2*i-1;b++)//控制每行*的個數printf("\n"); }printf("\n"); return 0;} 16樓:芒果味的青瓜 /*------------------------------------------- 拓展:列印菱形(方法一) --------------------------------------------*/ #include main() for(row=6;row<10;row++)} 17樓:瑩 #includeusing namespace std;void print(int s,int n) for(int i=n-1;i>0;i--) } 18樓:匿名使用者 1。迴圈2。prinf 用c語言程式設計輸出如下圖形 19樓:匿名使用者 #define n 5 #include void main() {int a[n][n]; int i,j; for (i=0; ifor (i=0; i在visual c++ 6.0環境下除錯執行結果如下圖: 20樓:匿名使用者 #include int min(int a, int b) {return (a 21樓:匿名使用者 陣列外圍填1 內維依次遞進填2,3…… c語言程式設計 編寫程式,在螢幕上輸出下面的圖案(要求用for 迴圈實現)。 * * * 22樓:用著追她 1、先雙擊開啟桌面上的c-free5軟體。 2、開啟程式設計軟體以後,建立一個新頁面來編寫程式;可以直接點選空白頁面,也可以先點選【檔案】,再點選【新建】。 3、**:#include//標頭檔案,int main(void)//主函式{ printf("列印一個c圖案:"); printf("\n"); printf(" *****"); printf("\n"); //開始列印一個圖形c。 4、編寫完**以後,按f5進行編譯。或者點選上方的小三角,已在圖中標出。 5、編譯時,如果有錯誤會進行報錯,大家需要進行檢查修改。如果沒有錯誤,會出現【0個錯誤,0個警告】,表示程式正確,可以執行。 6、正常執行後,新的視窗就會出現一個圖形。 23樓:匿名使用者 #include //只要控制每行開頭空格的 //個數遞增就可以了 int main(void) return 0;} 24樓:名很難記 #include void main()//每輸出5個* 換行} 25樓:閭儼柏茂才 二樓的差不多,只是少了點括號! #include main()} c語言程式設計輸出菱形圖!!!! 26樓:匿名使用者 此題解法,我將這個菱形放在了一個二維陣列中,因為用二維陣列可以界定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的時候,將迴圈的邊界再減一個,就可以了,不過圖形是會變形,不會是菱形了。 上機執行的時候,把這些漢字清理了吧,要不可能編譯出問題,好運~ 是用console window 就是象dos視窗那樣 輸出麼?很簡單 by sunszl on dec.24 include include include using namespace std int main cout press enter to end.n cin.get 你把這段 編譯... 陣列的下標是從0開始的 假如陣列a裡有三個元素,這三個元素可以表示成a 0 a 1 a 2 陣列的大小是根據你定義時確定下來的 有3中定義方法 1 int a 100 2 int a new int 100 3 int a 第一種定義直接給他分配了100個空間的記憶體,第二個也是,第三個是根據後面陣... 一分鐘讀懂。c語言程式設計。c語言程式設計 一分鐘讀懂。c語言程式設計。可以的,按照你的要求程式設計好。太多了,可以具體一下是需要哪個嗎。c語言程式設計 a 由0x開頭,後跟0 9,a f的是十六進位制整數。0x3al是十六進位制數,等於十進位制的 56,其中l表示長整形,a正確。b 由數字0開頭,...C 程式設計輸出圖形,程式設計用C 輸出這個圖形。
c語言程式設計,c語言 程式設計
C語言程式設計,c語言程式設計