编写函数求解圆台的表面积s和体积v

这是通过C语言实现的一个简单问题,我们先来看看题目。

任务描述

         编写函数void yuantai(double h),求解圆台的表面积s和体积v,h为圆台的高。 已知:圆台,如下图,上半径r1=OP=32.5,下半径O1P1=r2=40.6,圆台的高OO1=h,可变。其中,圆台的表面积s和体积v的计算公式如下:

圆台公式

相关知识

        圆台:是指用一个平行于圆锥底面的平面去截圆锥后,底面与截面之间的部分。圆台同圆柱和圆锥一样也有轴、底面、侧面和母线,并且用圆台台轴的字母表示圆台。(下面是例图)

圆台

编程要求

        1.编写函数void yuantai(double h),根据圆台的公式求解圆台的表面积s和体积v。 2.已知上半径r1=32.5,下半径r2=40.6,圆台的高h可变,做函数的形参,h值由主调函数完成输入。

测试说明

        平台会对你编写的代码进行测试,若是与预期输出相同,则算通关。

        样例输入: 20.5 样例输出: s=13558.39 v=86385.23

        样例输入: 30.5 样例输出: s=15743.45 v=128524.37

 看到题目后因为想到H的平方首先想到构造形式参数用来计算S和V,代码如下:

void yuantai(double h)
{
   double L,s,v;
   L=sqrt(h*h+(r1-r2)*(r1-r2));
   s=PI*(r1*r1+r2*r2)+PI*(r1+r2)*L;
   v=PI*h*(r1*r1+r2*r2+r1*r2)/3;
   printf("s=%.2f\nv=%.2f\n",s,v);
   
}

随后构造实参:

void main( )
{  
   float h;
   scanf("%lf",&h);
   yuantai(h);
   
}

最后添上头文件PI,R1,R2,就构成了整个的代码:

#include <stdio.h>			 // 标准输入输出库函数
#include <math.h>            // 数学库函数
#define  PI  3.1415
#define  r1  32.5
#define  r2  40.6

void yuantai(double h)
{
   double L,s,v;
   L=sqrt(h*h+(r1-r2)*(r1-r2));
   s=PI*(r1*r1+r2*r2)+PI*(r1+r2)*L;
   v=PI*h*(r1*r1+r2*r2+r1*r2)/3;
   printf("s=%.2f\nv=%.2f\n",s,v);
   
}

void main( )
{  
   double h;
   scanf("%lf",&h);
   yuantai(h);
   
}

Guess you like

Origin blog.csdn.net/qq_46069852/article/details/120619951