為什麼這篇巢狀迴圈範例鄉民發文收入到精華區:因為在巢狀迴圈範例這個討論話題中,有許多相關的文章在討論,這篇最有參考價值!作者ming712800 (ming)看板C_and_CPP標題[問題] 用*排出三角形時間Fri ...
我在課本上做到一題畫出三角形的
像這樣↓
*
**
***
****
*****
******
課本上的程式是這樣↓
01 #include <stdio.h>
02 #include <stdlib.h>
03 int main (void)
04 {
05 int i, j; /* 設定迴圈出值 */
06
07 for (i = 1; i <= 6; i++) /* 外層迴圈決定哪一列要印星號 */
08 {
09 for (j = 1; j <= i; j++) /* 內層迴圈印出*星號 */
10
11 printf ("*");
12 printf ("\n");
13 }
14
15 system ("pause");
16 return 0;
17 }
課本又解釋外層迴圈用來控制列印行數(迴圈控制變數i)
而內層迴圈則是用來控制每一行列印的星號數目(迴圈控制變數j)
一開始看課本這樣解釋 應該是說
i用控制要列印出幾行 對吧
則j是用來控制每一行要印幾個星號數
後來我有想到 那菱形的可以做一下試試看
我一開始是這樣想的
\ 代表空格
\\\\\*
\\\\***
\\\*****
\\*******
\**********
************
我只要寫出\的程式
在寫*的程式應該就好了
但是我後來有寫出\的程式 但是也遇到for迴圈上的邏輯問題
這是跟上面的程式一樣的東西
#include <stdio.h>
#include <stdlib.h>
int main (void)
{
int i, j;
for (i = 5; i <= 10; i++)
{
for (j = 5; j <= i; j++)
printf ("*");
printf ("\n");
}
system ("pause");
return 0;
}
這個印出的圖形也是
*
**
***
****
*****
******
重點來了我當初想說 i是控制行數
j是控制星數目 那我是不是把j改成5
那是不是他第一行就會印出5個星
結果沒有
我想 這個程式 是不是跑幾次就出現幾個星
還是怎樣!!有點想不通
請大家指點 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 220.131.128.9