画星c语言程序,用星号画了一个正五角星。

该楼层疑似违规已被系统折叠 隐藏此楼查看此楼

void print_star(int r)

{

int x1, x2, x3, x4, y,i;

int n1 = r*sin(0.943)+r;

//

int n2 = r*(1-sin(0.943));

int d = r*(1+sin(0.942));//sin54

int d1 = r*(1-sin(0.314));

int offset1, offset2;

for(y = 0; y <= d; y++)

{

/*终端字符宽高比为2:1*/

if(y

{

offset1 = (int)( y*tan(0.314)*2.0); //tg18

x1 = d - offset1;

x2 = d + offset1;

print_char(x1, x2);

}

else if(y>d1)

{

offset1 = (int)( y*tan(0.314)*2.0); //tg18

x1 = d - offset1;

x2 = d + offset1;

offset2 = (int)(

(r*sin(1.256)-(y-r*(1-sin(0.314)) )*tan(0.942) )*2);//tg54,sin72

x3 = d - offset2;

x4 = d + offset2;

print_char(x1, x2, x3, x4);

}

else

{

//for(i=0;i<=n2;i++) {printf("

");}

for(i=0;i<=n1;i++) {printf(" *");}

printf("\n");

}

}

}

int main(int argc, char* argv[])

{

int

r = 20; //默认五角星外接圆半径

scanf("%d",&r);

if (argc > 1)

r = atoi(argv[1]);

print_star(r);

return 0;

}

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值