1. 如果想描繪下圖之鑽石形狀
*
***
*****
*******
*********
***********
*********
*******
*****
***
*
請參考以下程式碼
#include <stdio.h>
int main(int argc, const char * argv[])
{
for(int i = -5; i <= 5; i++)
{
for(int j = -5; j <= 5; j++)
{
if(i <= j + 5 && i <= -j + 5 && i >= -j - 5 && i >= j - 5)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
2. 如果想描繪下圖之三角型, 星號由一到十遞增
*
**
***
****
*****
******
*******
********
*********
**********
請參考以下程式碼
1. 第一個迴圈代表執行十次
2. 第二個內迴圈也執行十次, 但裡頭多加一個判斷式
因這三角形星號是由右邊往左列印, 因此下了 j <= 10 - i
因此i == 1時印出九個空格, 條件不滿足時才列印出星號
3. 跳出內迴圈後印出換行符號
#include <stdio.h>
int main(int argc, const char * argv[])
{
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j <= 10; j++)
{
if(j <= 10 - i)
printf(" ");
else
printf("*");
}
printf("\n");
}
}
3. 若想描繪下圖之三角型, 由上而下為一顆, 兩顆星號, 以此類推到十顆
*
**
***
****
*****
******
*******
********
*********
**********
請參考下列程式碼:
1. 第一個for迴圈代表會執行十次
2. 第二個for迴圈代表會印出星號, 印出的次數會以變數i為準
3. 若j <= i條件不成立, 則內迴圈執行結束並印出換行符號
#include <stdio.h>
int main(int argc, const char * argv[])
{
for(int i = 1; i <= 10; i++)
{
for(int j = 1; j <= i; j++)
{
printf("*");
}
printf("\n");
}
}
No comments:
Post a Comment