
課程咨詢: 400-996-5531 / 投訴建議: 400-111-8989
認真做教育 專心促就業(yè)
記得大一剛學C語言的時候,書后有道打印三角形的題,記得當時做了一個多小時才做出來,相信大家初學編程也做過類似的問題,今天突發(fā)奇想想打印個特殊曲線,于是把目標鎖定為打印一個橢圓,大家都知道編程語言打印輸出一個圖形,如果它是單調(diào)遞增或者單調(diào)遞減是非常容易的,如果非單調(diào)的函數(shù)就得費一些周折。橢圓不是單調(diào)函數(shù)應該怎么快速打印呢首先因為圓是特殊的橢圓,所以我們先想想如何打印圓形,我們可以先想把圓分成1/4,一個1/4圓當然是單調(diào)的嘛,利用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");
}
}
誒媽呀,咋出個這個畸形?我們仔細看會發(fā)現(xià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()
{
【免責聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點和對其真實性負責。如涉及作品內(nèi)容、版權(quán)和其它問題,請在30日內(nèi)與聯(lián)系我們,我們會予以更改或刪除相關文章,以保證您的權(quán)益!