畫五角星的輸入是:
5,4
4,90
5,19
4,180
2
5,38
3,144
5,38
3,144
5,38
3,144
5,38
3,144
5,38
1
六
九
畫我名字的輸入是:
1
5,10
4,90
5,19
2
4,180
5,18
4,180
5,9
4,90
5,10
3,90
5,8
3,180
5,16
3,180
5,8
4,90
5,10
3,90
5,9
3,180
5,18
1
5,2
4,90
5,20
2
3,135
5,4
1
3,45
5,4
2
3,135
5,4
1
4,135
5,16
2
4,165
5,10
3,180
5,10
1
3,165
5,20
3,90
5,10
3,135
5,1
2
5,6
3,180
5,3
3,45
5,9
3,180
5,5
3,90
5,3
3,180
5,8
3,90
5,6
3,180
5,12
3,180
5,10
1
4,90
5,3
2
4,90
5,8
3,90
5,9
3,90
5,8
3,90
5,9
六
九
源代碼如下:
# include & ltstdio.h & gt
# include & ltstdlib.h & gt
# include & ltassert.h & gt
# include & ltmath.h & gt
const int left _ bound =-19;
const int right _ bound = 20
const int up _ bound =-19;
const int down _ bound = 20
bool sea[down _ bound-up _ bound+1][right _ bound-left _ bound+1];
布爾筆_下降;
浮動行、列;
float drow = -1,dcol = 0;
void print_sea()
{
for(int I = up _ bound;我& lt= down _ boundi++)
{
for(int j = left _ bound;j & lt= right _ boundj++)
{
printf(" % c " ,((sea[I-up _ bound][j-left _ bound])?'*':' '));
}
printf(" \ n ");
}
}
void up_pen()
{
pen _ down = 0;
}
void down_pen()
{
pen _ down = 1;
if(筆向下& amp& amp上界-0.4 & lt;= row & amp& amprow & lt=下界+0.4 & amp;& ampleft _ bound-0.4 & lt;= col & amp& ampcol & lt=右界+ 0.4)
{
sea[(int)(row-up _ bound+0.5)][(int)(col-left _ bound+0.5)]= true;
}
}
無效左轉(整數度)
{
浮點數pi = 3.1415926;
float alpha = deg * pi/180;
float drow _ new =-sin(alpha)* dcol+cos(alpha)* drow;
float dcol _ new = sin(alpha)* drow+cos(alpha)* dcol;
卓爾=卓爾_新;
dcol = dcol _ new
}
無效右轉(整數度)
{
左轉(-deg);
}
void forward_n(int n)
{
for(int I = 0;我& ltn;i++)
{
排+=卓爾;
col+= dcol;
if(筆向下& amp& amp上界-0.4 & lt;= row & amp& amprow & lt=下界+0.4 & amp;& ampleft _ bound-0.4 & lt;= col & amp& ampcol & lt=右界+ 0.4)
{
sea[(int)(row-up _ bound+0.5)][(int)(col-left _ bound+0.5)]= true;
}
}
}
int main()
{
for(;;)
{
int cmd = 9;
scanf(" %d ",& ampcmd);
開關(cmd)
{
案例1:
up _ pen();
打破;
案例二:
down _ pen();
打破;
案例三:
cmd = 90
scanf(",%d ",& ampcmd);
右轉(cmd);
打破;
案例4:
cmd = 90
scanf(",%d ",& ampcmd);
左轉(cmd);
打破;
案例5:
cmd = 0;
scanf(",%d ",& ampcmd);
forward _ n(cmd);
打破;
案例6:
print _ sea();
打破;
案例9:
返回0;
默認值:
返回1;
}
}
返回0;
}