因為一定會印出N列,可以先寫好
for( i=1 ; i<=N ; i=i+1 )
{
cout << endl;
}
接著觀察空白數、*
數的規律。
*
***
*****
i=1
,輸出*
i=2
,輸出*
i=3
,輸出*
*
***
*****
*******
*********
i=1
,輸出*
i=2
,輸出*
i=3
,輸出*
i=4
,輸出*
i=5
,輸出*
*
可以在for迴圈內部再寫2個for迴圈,分別印出空白與*
N-i
,可以用以下程式碼印出for( j=1 ; j<=N-i ; j=j+1 )
{
cout << " ";
}
*
數為2i-1
,可以用以下程式碼印出for( j=1 ; j<=2*i-1 ; j=j+1 )
{
cout << "*";
}
#include<iostream>
using namespace std;
int main()
{
int N;
int i, j;
cin >> N;
for( i=1 ; i<=N ; i=i+1 )
{
for( j=1 ; j<=N-i ; j=j+1 )
{
cout << " ";
}
for( j=1 ; j<=2*i-1 ; j=j+1 )
{
cout << "*";
}
cout << endl;
}
return 0;
}