POJ 3299

//POJ 3299。刚开始,没搞懂题意,太囧。结果是道很水的题。
//很奇怪,不知道为啥会WA.参考了:http://blog.csdn.net/lyy289065406/article/details/6642582
//将其按照我的想法改了改提交AC(和照抄没什么太大区别)。
//本地测试的好好的。我的代码(本地通过,oj上wa了):
#include<iostream>  
#include<math.h>  
#include<iomanip>
using namespace std;  
int main(void)  
{  
      char A,B;
      float t=0,D=0,h=0;
       
      
     while(cin>>A){
         switch(A){  
            case 'E': 
                  return 0; 
		     break;
	    case 'T':  
	          cin>>t>>B;
	          if(B=='D'){
		     cin>>d;
 	             h=t+0.5555*(6.11*exp(5417.7530*(1/273.16-1/(d+273.16)))-10);
		    }else if(B=='H'){
		     cin>>h;
		     d=1/((1/273.16)-((log((((h-t)/0.5555)+10.0)/6.11))/5417.7530))-273.16; };
		     break;
	    case  'D':  
	          cin>>d>>B;
		  if(B=='T'){
		     cin>>t;
		     h=t+0.5555*(6.11*exp(5417.7530*(1/273.16-1/(d+273.16)))-10);
		    }else if(B=='H'){
		    cin>>h;
		     t=h-0.5555*(6.11*exp(5417.7530*(1/273.16-1/(d+273.16)))-10);};
		     break;
	    case  'H':
	          cin>>h>>B;
		  if(B=='D'){
	             cin>>d;
		     t=h-0.5555*(6.11*exp(5417.7530*(1/273.16-1/(d+273.16)))-10);
                    }else if(B=='T'){
                     cin>>h;
		     d=1/((1/273.16)-((log((((h-t)/0.5555)+10.0)/6.11))/5417.7530))-273.16;};
		     break;
	   default: 
		     break; 
		    
             } 

          cout<<setprecision(1)<<fixed<<"T"<<t<<"D"<<d<<"H"<<h<<endl;
	
	 }
     return 0;
}  

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值