poj3299(题目大意+代码)

题目大意:有两个数,求第三个数。
题目:三个变量temperature,dewpoint,humidex有以下关系:
humidex = temperature + h
h = (0.5555)× (e - 10.0)
e = 6.11 × exp [5417.7530 × ((1/273.16) - (1/(dewpoint+273.16)))]
任务是根据其中任意两个数,计算出第三个数。

输入:输入的每一行由四项组成,第一项为一个字符,第二项为一个数字,第三项为一个字符,
第四项为数字,各项之间用空格分开,字符指出了后面的数字代表哪个变量,
‘T’代表temperature,‘D’代表dewpoint, ‘H’代表humidex。
最后一行输入仅包含一个字符‘E’。

输出:针对每行的输入,输出三个变量,输出的格式为: T number D number H number。

解题思路:该题简单,主要是利用公式进行计算。

#include 
 #include
 #include
 using namespace std;
 int main() {

     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<1)<"T "<" D "<" H "<return 0;
 }

你可能感兴趣的:(poj)