For investors
股價(jià):
5.36 美元 %For investors
股價(jià):
5.36 美元 %認(rèn)真做教育 專(zhuān)心促就業(yè)
記得大一剛學(xué)C語(yǔ)言的時(shí)候,書(shū)后有道打印三角形的題,記得當(dāng)時(shí)做了一個(gè)多小時(shí)才做出來(lái),相信大家初學(xué)編程也做過(guò)類(lèi)似的問(wèn)題,今天突發(fā)奇想想打印個(gè)特殊曲線(xiàn),于是把目標(biāo)鎖定為打印一個(gè)橢圓,大家都知道編程語(yǔ)言打印輸出一個(gè)圖形,如果它是單調(diào)遞增或者單調(diào)遞減是非常容易的,如果非單調(diào)的函數(shù)就得費(fèi)一些周折。橢圓不是單調(diào)函數(shù)應(yīng)該怎么快速打印呢首先因?yàn)閳A是特殊的橢圓,所以我們先想想如何打印圓形,我們可以先想把圓分成1/4,一個(gè)1/4圓當(dāng)然是單調(diào)的嘛,利用x*x + y*y = r*r這個(gè)圓的標(biāo)準(zhǔn)方程打印輸出,代碼如下:
[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");
}
}
誒媽呀,咋出個(gè)這個(gè)畸形?我們仔細(xì)看會(huì)發(fā)現(xiàn),原因是圓的行間距和列間距不同造成的,解決方法是把打印一個(gè)星'*',改成打印兩個(gè)星'**'就成了,代碼如下:
[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()
{
【免責(zé)聲明】本文部分系轉(zhuǎn)載,轉(zhuǎn)載目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀(guān)點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé)。如涉及作品內(nèi)容、版權(quán)和其它問(wèn)題,請(qǐng)?jiān)?0日內(nèi)與聯(lián)系我們,我們會(huì)予以更改或刪除相關(guān)文章,以保證您的權(quán)益!