#include<math.h>
#define PI 3.1415
void sx()/*計算扇形面積及周長*/
{ float r,j,S,C;
do{
printf("請輸入半徑r=");
scanf("%f",&r);
printf("請輸入角度(360制)j=");
scanf("%f",&j);
}while(r<0||j<0);
/*運算*/
S=PI*r*r*j/360;
C=2*PI*r*j/360+2*r;
printf("該扇形面積S=%f\n周長C=%f\n",S,C);
}
void wb()/*計算正5邊形面積及周長*/
{ float a,S,C;
do{
printf("請輸入邊長a=");
scanf("%f",&a);
}while(a<0);
/*運算*/
S=1.72*a*a;
C=5*a;
printf("該正5邊形面積S=%f\n周長C=%f\n",S,C);
}
void lb()/*計算正6邊形面積及周長*/
{ float a,S,C;
do{
printf("請輸入邊長a=");
scanf("%f",&a);
}while(a<0);
/*運算*/
S=2.598*a*a;
C=6*a;
printf("該正6邊形面積S=%f\n周長C=%f\n",S,C);
}
void qg()/*計算球冠表面積及體積*/
{ float r,h,S,V;
do{
printf("請輸入半徑r=");
scanf("%f",&r);
printf("請高度h=");
scanf("%f",&h);
}while(r<0||h<0);
/*運算*/
if(h<=r)
{
S=2*PI*r*h;
V=PI*(h*h)*(r-h/3);
}
else
{
S=4*PI*r*r-2*PI*r*h;
V=(4/3)*PI*r*r*r-PI*(h*h)*(r-h/3);
}
printf("該球冠面積S=%f\n體積V=%f\n",S,V);
}
void smt()/*計算正4面體的表面積及體積。*/
{ float a,S,V;
do{
printf("請輸入邊長a=");
scanf("%f",&a);
}while(a<0);
/*運算*/
S=a*a*sqrt(3);
V=0.11111111*(S/4)*a*sqrt(6);
printf("該正4面體面積S=%f\n體積V=%f\n",S,V);
}
void zy()/*計算正圓面積及周長*/
{ float r,S,C;
do{
printf("請輸入半徑r=");
scanf("%f",&r);
}while(r<0);
/*運算*/
S=PI*r*r;
C=2*PI*r;
printf("該正圓面積S=%f\n周長C=%f\n",S,C);
}
void main()
{ int a;
char c;
do{
printf("請選擇計算對象(選擇數字)\n");
printf("1:扇形 2:正5邊形 3:正6邊形 4:球冠 5:正4面體 6:正圓\n");
scanf("%d",&a);
switch(a)
{
case 1:sx();break;
case 2:wb();break;
case 3:lb();break;
case 4:qg();break;
case 5:smt();break;
case 6:zy();
}
printf("是否繼續(y or n)\n");
scanf("%s",&c);
}while(c=='y');
}