用C語言畫一個圓
一、概念說明
1.1圓
在一個平面內,圍繞一個點并以一定長度為距離旋轉一周所形成的封閉曲線叫做圓(Circle)。
圓的表達式:(x - a)² +(y - b)² = r²
a=0,b=0的情況下: x² + y² = r²
1.2圓的圖樣
僅供參考理解:

二、問題呈現
1.問題描述
Problem Description:
在屏幕上用字符“*”畫一個空心的圓。
2.輸入輸出
Input
無
Output
用字符“*”顯示一個空心的圓
3.測試樣例
Sample Input
無
Sample Output

三、源碼實現(+注釋)
#include<stdio.h>
#include<stdlib.h>
#include<math.h> //定義該數學函數庫 因為要用到sqrt函數
int main(){
double y;
int x,m;
for(y = 10;y >= -10; y--){
//圓的半徑為10
//計算y對應的列坐標m,2.03是屏幕縱橫比調節(jié)系數
m = 2.03 * sqrt(100-y*y); //因為屏幕的行距大于列距,不進行調節(jié)顯示出來的將是橢圓
for(x = 1;x < 30-m; x++)
printf(" "); //圖形左側空白控制
printf("*"); //左半圓
for( ;x < 30+m; x++)
printf(" ");//圖形空心部分控制
printf("*\n");//圓的右側
}
}
四、輸出結果圖示

五、簡要解釋
1.實現關鍵
關鍵在于在屏幕上用“ * “ 畫一個空心的圓。
我們輸出圓可利用圖形的左右對稱性。 根據圓的方程:
x * x + y * y = r * r 可以計算出圓上每一點行和列的對應關系。
2.小說明
? m = 2.03 * sqrt(100 - y * y);
① y就是圓的方程中的y
② y對應的列坐標m
③2.03是屏幕縱橫比調節(jié)系數
為什么要調節(jié)屏幕縱橫比 ? 因為在電腦上,一般都是行距大于列距,例如可以聯系常見的屏幕分辨率1920x1080 1920>1080來理解。
④sqrt是math數學函數庫中的開方函數
總結
到此這篇關于用C語言畫一個圓的文章就介紹到這了,更多相關C語言圓內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

