求一道C语言题答案
(2)编写球体子函数、立方体子函数、圆柱体子函数,它们的功能是返回各自的体积和表面积。
(3)在主函数中调用三个子函数,输入1时,输出球体的体积和表面积;输入2时,输出立方体的体积和表面积;输入3时,输出圆柱体的体积和表面积。
(4)在输入1、2或者3时,为了防止误输入,在主函数中要用do…while语句实现纠错功能。 展开
#include <stdio.h>
#define PI 3.14159
void ball();//球体
void cube();//立方体
void cast();//圆柱体
void main(void)
{
int choice=1;
do
{
printf("\n1-----求球体的体积和表面积\n");
printf("2-----求立方体的体积和表面积\n");
printf("3-----求圆柱体的体积和表面积\n");
printf("make your choices:");
scanf("%d",&choice);
if ( 1 == choice )
{
ball();
}
else if ( 2 == choice )
{
cube();
}
else if ( 3 == choice )
{
cast();
}
else
printf("输入有误!请重新选择\n");
} while ( choice!=1 || choice!=2 || choice!=3 );
}
void ball()
{
float r=0;
printf("请输入球体的半径:");
scanf("%f",&r);
printf("该球体的体积为:%lf\t表面积为:%lf\n",4*PI*r*r/3.0,4*PI*r);
}
void cube()
{
float a=0;
printf("请输入立方体的边长:");
scanf("%f",&a);
printf("该立方体的体积为:%lf\t表面积为:%lf\n",a*a*a,6*a*a);
}
void cast()
{
float h=0,r=0;
printf("请输入圆柱体的半径:");
scanf("%f",&r);
printf("请输入圆柱体的高度:");
scanf("%f",&h);
printf("该圆柱体的体积为:%lf\t表面积为:%lf\n",PI*r*r*h,2*PI*r*h+2*PI*r*r);
}