ITPub博客

首页 > > > POJ 3299问题

POJ 3299问题

作者:zzzhangyi 时间:2019-11-06 14:35:56 0 删除 编辑
问一个POJ3299的问题,这是我看到的别人的答案:http://blog.csdn.net/lyy289065406/article/details/6642582

#include<iostream>  
#include<math.h>  
#include<string>  
#include<iomanip>  
using namespace std;  
int main(void)  
{  
    char alpha;  
    double t,d,h;  
    int i;  
    for(;;)  
    {  
        t=d=h=200;    //三个参数的范围默认都是在-100 ~ 100  
        for(i=0;i<2;i++)  
        {  
            cin>>alpha;  
            if(alpha=='E')  
                return 0;  
            else if(alpha=='T')  
                cin>>t;  
            else if(alpha=='D')  
                cin>>d;  
            else if(alpha=='H')  
                cin>>h;  
        }  
        if(h==200)  
            h=t+0.5555*(6.11*exp(5417.7530*(1/273.16-1/(d+273.16)))-10);  
        else if(t==200)  
            t=h-0.5555*(6.11*exp(5417.7530*(1/273.16-1/(d+273.16)))-10);  
        else if(d==200)  
            d=1/((1/273.16)-((log((((h-t)/0.5555)+10.0)/6.11))/5417.7530))-273.16;  
        cout<<setprecision(1)<<fixed<<"T "<<t<<" D "<<d<<" H "<<h<<endl;  
    }  
    return 0;  
}

关于后面的if(h==200) else if(t==200)  else if (d==200)这几个语句的处理不是很明白,能否给讲解一下?

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/3598/viewspace-3166729/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2019-08-14

  • 博文量
    133
  • 访问量
    947