#include<stdio.h>
void main()
{
double r2,r1,s;
double area_ring (double x,double y); /*函数原型,求圆环面积*/
printf("请输入同心圆的两个半径:");
scanf("%lf%lf",&r2,&r1); /*输入两同心圆的值r2,r1*/
s=area_ring (r1,r2); /*调用area_ring函数,求圆环的面积*/
printf("圆环面积为:%f\n",s); /*输出求得的圆环面积*/
}
double area_ring(double x,double y) /*函数原型定义*/
{
double a,b,c;
double area(double r); /*函数原型*/
a=area(x); /*求半径为x的圆面积*/
b=area(y); /*求半径为y的圆面积*/
c=a-b; /*两圆面积差即为圆环面积*/
if(c<0)c=-c; /*圆环面积应为大圆面积减去小的*/
return c;
}
double area(double r) /*函数原型定义,求圆面积*/
{
double pai,ar;
double pi(int n); /*函数原型*/
pai=pi(10000); /*求π的值,精确到小数点后4、5位*/
ar=pai*r*r;
return ar;
}
double pi(int n) /*函数原型定义,求π的近似值*/
/*此为利用公式:π≈(1-l/3+1/5-1/7+…)×4计算π的近似值的函数*/
{
int i;
double sign=1.0,sum=0,item=1.0;
for(i=1;i<=n;i++)
{
sum=sum+item; /*计算π的近似值*/
sign=-sign; /*修正公式中每一项的符号*/
item=sign/(2*i+1); /*修正公式中每一项的值*/
}
return (sum*4);
}