天天看點

C語言畫圓(詳細解釋易懂)

代碼

#include<iostream>
#include<cmath> 
using namespace std;
int main()
{   
    for(double y=10;y>=-10;y-=1)
    {
    	for(int i=0;i<10;i++) cout<<" ";
    	double x=2.5*(10-sqrt(100-y*y)),t;
    	for(t=0;t<x;t+=1) cout<<" ";
    	cout<<"*";
    	for(;t<20*2.5-x;t+=1) cout<<" ";
    	cout<<"*"<<endl;
    }
	return 0;
}
           

畫一個半徑為10的圓,原點在(10,0),這樣做是為了友善做對稱處理(我們隻需畫一側的半圓,另一側靠對稱映射出來),那麼由圓公式可得兩個x點位置,我們取左側的點,x=2.5 ∗ * ∗(10-sqrt(100- y ∗ y y*y y∗y)),乘上2.5是因為計算機螢幕行間距和列間距不等,需要個調整系數,如果不乘最後會變成橢圓,是以我們在處理對稱的時候也要注意乘這個調整系數,20*2.5-x

ps:for(int i=0;i<10;i++) cout<<" " ; 這段代碼可删,隻是為了讓結果與控制台對話框左側保持一定距離

結果

不加調整系數的結果

C語言畫圓(詳細解釋易懂)

加調整系數的結果

C語言畫圓(詳細解釋易懂)

繼續閱讀