3.繪制圓
在屏幕上用“*”畫一個(gè)空心的圓
*問題分析與算法設(shè)計(jì)
打印圓可利用圖形的左右對稱性。根據(jù)圓的方程:
R*R=X*X+Y*Y
可以算出圓上每一點(diǎn)行和列的對應(yīng)關(guān)系。
*程序說明與注釋
#include
#include
void main()
{
double y;
int x,m;
for(y=10;y>=-10;y--)
{
m=2.5*sqrt(100-y*y); /*計(jì)算行y對應(yīng)的列坐標(biāo)m,2.5是屏幕縱橫比調(diào)節(jié)系數(shù)因?yàn)槠聊坏?BR> 行距大于列距,不進(jìn)行調(diào)節(jié)顯示出來的將是橢圓*/
for(x=1;x<30-m;x++) printf(" "); /*圖形左側(cè)空白控制*/
printf("*"); /*圓的左側(cè)*/
for(;x<30+m;x++) printf(" "); /*圖形的空心部分控制*/
printf("*\n"); /*圓的右側(cè)*/
}
}
在屏幕上用“*”畫一個(gè)空心的圓
*問題分析與算法設(shè)計(jì)
打印圓可利用圖形的左右對稱性。根據(jù)圓的方程:
R*R=X*X+Y*Y
可以算出圓上每一點(diǎn)行和列的對應(yīng)關(guān)系。
*程序說明與注釋
#include
#include
void main()
{
double y;
int x,m;
for(y=10;y>=-10;y--)
{
m=2.5*sqrt(100-y*y); /*計(jì)算行y對應(yīng)的列坐標(biāo)m,2.5是屏幕縱橫比調(diào)節(jié)系數(shù)因?yàn)槠聊坏?BR> 行距大于列距,不進(jìn)行調(diào)節(jié)顯示出來的將是橢圓*/
for(x=1;x<30-m;x++) printf(" "); /*圖形左側(cè)空白控制*/
printf("*"); /*圓的左側(cè)*/
for(;x<30+m;x++) printf(" "); /*圖形的空心部分控制*/
printf("*\n"); /*圓的右側(cè)*/
}
}