10 简化几何计算

有了计算机后,数学计算变得如此简单。考虑下面这个例子。你可能清楚直角三角形 中,三条边 a 的长度(这里 是最长的一条,叫做斜边)具有这个关系 a * b * = c * c 。这个公式称为勾股定理。 现在给出直角三角形的两条边,要求计算出第三条边。
2.输入描述
输入包含多个三角形的描述。每个描述在一行上,包括三个整数ac,表示三角 形的三条边长。三个数中有一个是- 1(未知边),其余两个是正数(已知的边)。 a = b = c =0 表示输入的结束。
3.输出描述
对于输入数据中的每组三角形描述,先输出三角形的序号,请参考输出样例。如果不 存在这样的直角三角形,再输出“ Impossible.”。否则,直接输出未知边的长度,形式是 = l”,这里 是未知边的名称( a c ), 是指它的长度。 必须精确到小数点后 3 位数字。 每一组测试案例后输出一个空行。
4.输入样例
3 4 -1
-1 2 7
5 -1 3
0 0 0
5.输出样例
Triangle #1
c = 5.000
Triangle #2
a = 6.708
Triangle #3

Impossible. 

#include<iostream>
#include<fstream>
#include<cmath>
using namespace std;
int main()
{
  int a,b,c;
  int num = 0;
  ifstream in("D:\\visual studio 2013 code\\test.txt");
  
  while(in>>a>>b>>c)
  {
    num++;
    if(a==b==c==0) break;
	if (c == -1) 
	{
	 //c = pow(a*a+b*b); 
	 cout<<"Triangle #"<< num<<endl;
	 cout<<"c= "<<fixed<<pow(a*a+b*b,.5)<<endl;
	 cout<<endl;
	}
	else if(a==-1)
	{
	  if(b>=c) 
	  {
	    cout<<"Triangle #"<<num<<endl;
		cout<<"Impossible."<<endl;
		cout<<endl;
	  }
	  else
	  {
	    cout<<"Triangle #"<<num<<endl;
		cout<<"a= "<<fixed<<pow(c*c-b*b,.5)<<endl;
		cout<<endl;
	  }
	}
	else if(b==-1)
	{
	  if(a>=c) 
	  {
	    cout<<"Triangle #"<<num<<endl;
		cout<<"Impossible."<<endl;
		cout<<endl;
	  }
	  else
	  {
	    cout<<"Triangle #"<<num<<endl;
		cout<<"b= "<<fixed<<pow(c*c-a*a,.5)<<endl;
		cout<<endl;
	  }
	}
  }
  return 0;
}



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值