Problem D: 指针函数 | 您所在的位置:网站首页 › 求正方形的编程函数 › Problem D: 指针函数 |
Description
YHZ自认为很聪明的人, 在C语言课上老师布置了一个作业,让能求正方形和圆的面积, 正当YHZ要跃跃欲试的时候, 老师却要求使用函数指针来实现这个功能,YHZ立马就不会了,他现在向你求助,你能帮他完成这个程序吗?
提示: 编写calAreaSquare(double x)函数来计算边长为x的正方形面积。 编写calAreaCircle(double x)函数来计算半径为x的圆面积。 编写calArea函数用以上两个函数作为参数实现求正方形和圆的面积。 Pi的求法 #include Pi= acos(-1.0) Input 第一行有一个正数T表示有T个询问。 接下来有T行,每行有一个正数op, 和一个浮点数x, 如果op = 1, x 表示正方形的边长。 如果 op = 2, x 表示圆的半径。 Output 输出只有一行表示所求的面积(保留五位小数)。 Sample Input 2 1 2 2 1 Sample Output 4.00000 3.14159 #include #include double calAreaSquare(double(*funp)(double),double x) { double k; k=(*funp)(x); return k; } double calAreaCircle(double(*funp)(double),double x) { double k,Pi; Pi=acos(-1.0); k=Pi*(*funp)(x); return k; } double f1(double x) { return(x*x); } int main(void) { int t,op; double(*funp)(double); double x; funp=f1; scanf("%d",&t); while(t--) { scanf("%d%lf",&op,&x); if(op==1) { printf("%.5lf\n",calAreaSquare(funp,x)); } if(op==2) { printf("%.5lf\n",calAreaCircle(funp,x)); } } return 0; }
|
CopyRight 2018-2019 实验室设备网 版权所有 |