[問題] 用*排出三角形
我在課本上做到一題畫出三角形的
像這樣↓
*
**
***
****
*****
******
課本上的程式是這樣↓
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
→
01/27 17:34, , 1F
01/27 17:34, 1F
→
01/27 17:37, , 2F
01/27 17:37, 2F
→
01/27 17:42, , 3F
01/27 17:42, 3F
→
01/27 18:02, , 4F
01/27 18:02, 4F
→
01/27 18:03, , 5F
01/27 18:03, 5F
→
01/27 18:40, , 6F
01/27 18:40, 6F
推
01/27 19:39, , 7F
01/27 19:39, 7F
推
01/27 20:25, , 8F
01/27 20:25, 8F
→
01/27 21:08, , 9F
01/27 21:08, 9F
→
01/27 21:41, , 10F
01/27 21:41, 10F
→
01/27 22:05, , 11F
01/27 22:05, 11F
→
01/27 22:57, , 12F
01/27 22:57, 12F
→
01/27 22:58, , 13F
01/27 22:58, 13F
→
01/27 22:59, , 14F
01/27 22:59, 14F
→
01/27 23:00, , 15F
01/27 23:00, 15F
→
01/27 23:01, , 16F
01/27 23:01, 16F
→
01/28 03:35, , 17F
01/28 03:35, 17F
→
01/28 03:36, , 18F
01/28 03:36, 18F
推
01/28 04:52, , 19F
01/28 04:52, 19F
→
01/30 15:48, , 20F
01/30 15:48, 20F
→
01/30 16:09, , 21F
01/30 16:09, 21F
討論串 (同標題文章)