怎样用c语言打印一个半径为10的实心圆

Python022

怎样用c语言打印一个半径为10的实心圆,第1张

要计算周长半径就必须先得到半径或直径。

有半径之后,用公式周长=直径xPI,面积=半径x半径xPI计算变可以得到结果。

下面是C语言源程序:

#include <stdio.h>

#define PI 3.1415926

int main(){

double r,l,s

printf("请输入半径:")

scanf("%lf",&r)

if(r<=0)printf("输入错误!");

else {

l=PI*2*r

s=PI*r*r

printf("周长=%lf 面积=%lf\n。",l,s)

}

return 0

}

#include "graphics.h"

#include <conio.h>

void main()

{

int driver,mode

driver=VGAmode=VGAHI

initgraph(&driver,&mode,"")

setcolor(getmaxcolor())

circle(50,50,30)

circle(150,150,30)

setcolor(RED)

setfillstyle(SOLID_FILL,RED)

fillellipse(150,150,30,30)

getch()

closegraph()

}

VC++画圆形可以使用API函数:Ellipse(int x1, int y1, int x2, int y2);

其画圆的原理是矩形的内切圆,四个参数中的前两个是矩形左上角坐标,后两个是矩形右下角坐标。VC++画图形前得先有一块画布DC即设备上下文。下面个例子:

void CrrDlg::PaintCircle() //画实心圆函数{CDC *pDC = this->GetDC()//获取DCCBrush brush,*oldbrush //画刷//通过定时器中num递增,实现红色圆形与绿色圆形交替出现,即闪灯现象if (num%2){//num为定时器计数参数,其为偶数时画红色圆形brush.CreateSolidBrush(RGB(255,0,0)) }else{ //num为奇数时,画绿色圆形brush.CreateSolidBrush(RGB(0,255,0)) } oldbrush=pDC->SelectObject(&brush)pDC->Ellipse(10,10,100,100) pDC->Ellipse(110,10,200,100)pDC->SelectObject(oldbrush) ReleaseDC(pDC)} void CrrDlg::OnTimer(UINT_PTR nIDEvent) //定时器{num++ PaintCircle() CDialogEx::OnTimer(nIDEvent)} 画空心圆环需要使用画笔CPen,画法一样。