For investors
股价:
5.36 美元 %For investors
股价:
5.36 美元 %认真做教育 专心促就业
记得大一刚学C语言的时候,书后有道打印三角形的题,记得当时做了一个多小时才做出来,相信大家初学编程也做过类似的问题,今天突发奇想想打印个特殊曲线,于是把目标锁定为打印一个椭圆,大家都知道编程语言打印输出一个图形,如果它是单调递增或者单调递减是非常容易的,如果非单调的函数就得费一些周折。椭圆不是单调函数应该怎么快速打印呢首先因为圆是特殊的椭圆,所以我们先想想如何打印圆形,我们可以先想把圆分成1/4,一个1/4圆当然是单调的嘛,利用x*x + y*y = r*r这个圆的标准方程打印输出,代码如下:
[cpp] view plaincopyprint?
#include
int main()
{
int R = 10;
int x,y;
for(y = 0; y <= R; y++)
{
for(x = 0; x <= R; x++)
{
if(x*x + y*y < R*R)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
#include
int main()
{
int R = 10;
int x,y;
for(y = 0; y <= R; y++)
{
for(x = 0; x <= R; x++)
{
if(x*x + y*y < R*R)
printf("*");
else
printf(" ");
}
printf("\n");
}
}
诶妈呀,咋出个这个畸形?我们仔细看会发现,原因是圆的行间距和列间距不同造成的,解决方法是把打印一个星'*',改成打印两个星'**'就成了,代码如下:
[cpp] view plaincopyprint?
#include
int main()
{
int R = 15;
double x,y;
for(y = 0; y <= R; y++)
{
for(x = 0; x <= R; x++)
{
if(x*x + y*y < R*R)
printf("**");
else
printf(" ");
}
printf("\n");
}
return 0;
}
#include
int main()
{
【免责声明】本文部分系转载,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。如涉及作品内容、版权和其它问题,请在30日内与联系我们,我们会予以更改或删除相关文章,以保证您的权益!