
问题
编写一个程序,利用switch case计算三角形、正方形、圆形、长方形和多边形的面积。
解决方案
根据事例编号,计算三角形、正方形、圆形、长方形和多边形的面积。输入三角形 a,b,c
s=(float)(a+b+c)/2;
area=(float)(sqrt(s*(s-a)*(s-b)*(s-c)));
在运行时输入正方形的边长。
area=(float)side*side;
运行时输入圆的半径 p>
area=(float)3.14159*radius*radius;
在运行时输入矩形的长度和宽度
area=(float)len*breadth;
输入平行四边形的底和高
area=(float)base*height;
示例
以下是使用 switch case 计算三角形、正方形、圆形、长方形和多边形面积的 C 程序 -
#include<stdio.h>
#include<math.h>
main(){
int choice;
printf("Enter1 to find area of Triangle
2 for finding area of Square
3 for finding area of Circle
4 for finding area of Rectangle
5 for Parallelogram
");
scanf("%d",&choice);
switch(choice) {
case 1: {
int a,b,c;
float s,area;
printf("Enter sides of triangle
");
scanf("%d%d %d",&a,&b,&c);
s=(float)(a+b+c)/2;
area=(float)(sqrt(s*(s-a)*(s-b)*(s-c)));
printf("Area of Triangle is %f
",area);
break;
}
case 2: {
float side,area;
printf("Enter Sides of Square
");
scanf("%f",&side);
area=(float)side*side;
printf("Area of Square is %f
",area);
break;
}
case 3: {
float radius,area;
printf("Enter Radius of Circle
");
scanf("%f",&radius);
area=(float)3.14159*radius*radius;
printf("Area of Circle %f
",area);
break;
}
case 4: {
float len,breadth,area;
printf("Enter Length and Breadth of Rectangle
");
scanf("%f %f",&len,&breadth);
area=(float)len*breadth;
printf("Area of Rectangle is %f
",area);
break;
}
case 5: {
float base,height,area;
printf("Enter base and height of Parallelogram
");
scanf("%f %f",&base,&height);
area=(float)base*height;
printf("Enter area of Parallelogram is %f
",area);
break;
}
default: {
printf("Invalid Choice
");
break;
}
}
}
输出
执行上述程序时,会产生以下输出 -
When the above program is
.........................................................