题目编号 |
23 |
时间限制 |
1000 毫秒 |
内存限制 |
32768 K字节 |
问题描述
输入图形和图形的参数,求出图形的面积和周长。可能的图形有矩形、圆形、三角形。
输入
输入字母C表示圆形,字母R表示矩形,字母T表示三角形。字母C后一个浮点数表示圆形的半径。字母R后两个浮点数表示矩形的长和宽。字母T后三个浮点数表示三角形三条边的长度。
输出
输出两个浮点数,第一个是图形的面积,第二个是图形的周长,用一个空格隔开。浮点数都保留两位小数的精度。
输入样例
R 1.0 2.0
输出样例
2.00 6.00
#include <cstdlib>
#include <iostream>
#include <math.h>
#include <iomanip>
using namespace std;
float chtosin(float a,float b,float c){
float sin,cos,temp;
cos = (a * a + b * b - c * c)/2/a/b;
temp = 1 - cos * cos;
sin = sqrt(temp);
return sin;
}
int main(int argc, char *argv[])
{
char ch;
float num1,num2,num3;
cin >> ch;
switch(ch){
case 'C':
case 'c':
cin >> num1;
cout <<fixed << setprecision(2)<< 3.1415 * num1 * num1<<" "<<2*3.1415*num1<<endl;
break;
case 'R':
case 'r':
cin >> num1 >> num2;
cout <<fixed << setprecision(2)<< num1 * num2<<" "<<2 * (num1 + num2)<< endl;
break;
case 'T':
case 't':
cin >> num1 >> num2 >> num3;
cout <<fixed << setprecision(2)<< num1 * num2 * chtosin(num1,num2,num3)/2
<<" "<<num1 + num2 + num3 <<endl;
break;
}
system("PAUSE");
return EXIT_SUCCESS;
}