首页 > > > POJ 3299问题
问一个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/ ,如需转载,请注明出处,否则将追究法律责任。