請不要直接抄寫程式碼! 也請不要直接跳到程式碼部分,除非你已經寫好了,想要參考別人的寫法!
回家功課09
- 先觀察圖形:
- 輸入
3
就會有3
行3
列、輸入5
就會有5
行5
列,所以輸入n
就會有n
行n
列 - 第一列的
o
在最中間、第n
列的o
從中間往兩邊增加,而且最中間那列全為o
(最中間怎麽用n
表示呢?) - 不是
x
的地方就是o
o
的變化很像擴散
,每多一行o
就往兩邊擴散一個,經過中間那列之後,就開始縮減
- 要注意是小寫
xo
!!!!
- 輸入
程式碼大概如下:
#include <iostream>
using namespace std;
int main()
{
int n;
cin>>n;
int center = n/2+1;
int offset = 0;
for(int row=1;row<=n;row++){
for(int col=1;col<=n;col++){
if ( col>center+offset || col<center-offset )
cout<<"x";
else
cout<<"o";
}
if ( row<center )
offset++;
else
offset--;
cout<<endl;
}
}
1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
1 2 3 4 5 6 7
x x x o x x x
x x o o o x x
x o o o o o x
o o o o o o o
x o o o o o x
x x o o o x x
x x x o x x x
如果有任何問題,歡迎私訊跟我討論喔!