C語言輔導(dǎo):趣味程序百例(01)繪制圓

字號:

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è)*/
     }
    }