有半径之后,用公式周长=直径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,画法一样。