iT邦幫忙

第 11 屆 iT 邦幫忙鐵人賽

DAY 23
2

本題要輸出星星樹,輸入兩數代表第一層的高度與總共有幾層,最後也要輸出粗度為(((最後一行數量-1)/2+1)/2)*2+1

直接來個範例好了
輸入:==3 4==
輸出:

        *
       ***
      *****
       ***
      *****
     *******
    *********
      *****
     *******
    *********
   ***********
  *************
     *******
    *********
   ***********
  *************
 ***************
*****************
    *********
    *********
    *********
    *********
#include <stdio.h>
void drawtree(int n,int m){
	int alllong=(m*2-1)+((n+m-2)*2); //算最後一層的星星數量
	int alllonghalf=(alllong+1)/2;
	int i,j,k,tall=n,starn=1;
	for(i=0;i<m;i++){
		for(j=0;j<tall;j++){
			for(k=0;k<(alllonghalf-(starn+1)/2);k++){
				printf(" ");
			}
			for(k=0;k<starn;k++){
				printf("*");
			}
			starn += 2;
			printf("\n");
		}
		tall++;
		starn -= ((tall-2)*2);
	}
	for(i=0;i<m;i++){
		for(k=0;k<(alllonghalf-((((alllong-1)/2+1)/2)*2+2)/2);k++){
			printf(" ");
		}
		for(k=0;k<(((alllong-1)/2+1)/2)*2+1;k++){
			printf("*");
		}
		printf("\n");
	}
}
int main(){
    int x,y;
    while(scanf("%d %d",&x,&y)!=EOF) drawtree(x,y);
    return 0;
}

上一篇
[Day 22] 週日寫程設作業
下一篇
[Day 24] 第四堂計算機概論
系列文
資工系大一課程/日常筆記30

2 則留言

0
kevineck
iT邦新手 5 級 ‧ 2019-10-09 12:05:11

學霸

0
kevineck
iT邦新手 5 級 ‧ 2019-10-09 12:07:20

可以要求畫科赫雪花嗎

我要留言

立即登入留言