Re: [問題] C語言聖誕樹並排
改一下題目,讓樹根貼齊地面:
int i , j , n ;
cout << "> tree number : " ;
cin >> n ;
for ( j = 1 ; j <= 3*n+1 ; ++j ) {
for ( i = 1 ; i <= n ; ++i ) {
if ( j <= 3*(n-i) ) {
cout << string(4*i+1,' ') ;
} else if ( j <= 3*(n-i)+2*i+1 ) {
cout << string(3*n-i-j+1,'-')
<< string(2*(j-3*(n-i))-1,'*')
<< string(3*n-i-j+1,'-') ;
} else {
cout << string(2*i,'-') << '*' << string(2*i,'-') ;
}
cout << " " ;
}
cout << endl ;
}
輸出:
> tree number : 3
------*------
-----***-----
----*****----
----*---- ---*******---
---***--- --*********--
--*****-- -***********-
--*-- -*******- *************
-***- ********* ------*------
***** ----*---- ------*------
--*-- ----*---- ------*------
> tree number : 4
--------*--------
-------***-------
------*****------
------*------ -----*******-----
-----***----- ----*********----
----*****---- ---***********---
----*---- ---*******--- --*************--
---***--- --*********-- -***************-
--*****-- -***********- *****************
--*-- -*******- ************* --------*--------
-***- ********* ------*------ --------*--------
***** ----*---- ------*------ --------*--------
--*-- ----*---- ------*------ --------*--------
若程式稍加修改,可以對稱方式輸出 :
> tree number : 2
----*----
---***---
--*****--
--*-- -*******- --*--
-***- ********* -***-
***** ----*---- *****
--*-- ----*---- --*--
> tree number : 3
------*------
-----***-----
----*****----
----*---- ---*******--- ----*----
---***--- --*********-- ---***---
--*****-- -***********- --*****--
--*-- -*******- ************* -*******- --*--
-***- ********* ------*------ ********* -***-
***** ----*---- ------*------ ----*---- *****
--*-- ----*---- ------*------ ----*---- --*--
※ 編輯: pziyout 來自: 140.115.25.24 (04/29 11:26)
→
04/29 11:32, , 1F
04/29 11:32, 1F
→
04/29 12:26, , 2F
04/29 12:26, 2F
→
04/29 12:28, , 3F
04/29 12:28, 3F
推
04/29 12:39, , 4F
04/29 12:39, 4F
推
04/29 12:45, , 5F
04/29 12:45, 5F
討論串 (同標題文章)
完整討論串 (本文為第 3 之 4 篇):
問題
4
13