POJ_3299 Humidex

题目链接:http://poj.org/problem?id=3299

这题没啥难度,就是输入处理起来挺麻烦的

 1 #include <iostream>
 2 #include <iomanip>
 3 #include <cmath>
 4 using namespace std;
 5 
 6 int main(){
 7     double t, d, h;
 8     char alpha;
 9     cout << setprecision(1) << fixed;        //输出一位小数 
10     while (cin >> alpha){
11         if (alpha == 'E')        break;
12         t = d = h = 200;        //设标志 
13         switch (alpha){
14         case 'T':
15             cin >> t;
16             break;
17         case 'D':
18             cin >> d;
19             break;
20         case 'H':
21             cin >> h;
22             break;
23         default:
24             break;
25         }
26         cin >> alpha;
27         switch (alpha){
28         case 'T':
29             cin >> t;
30             break;
31         case 'D':
32             cin >> d;
33             break;
34         case 'H':
35             cin >> h;
36             break;
37         default:
38             break;
39         }
40         if (t==200){
41             t = h - 0.5555*(6.11*exp(5417.7530*((1 / 273.16) - (1 / (d + 273.16)))) - 10.0);
42         }
43         else if(d==200){
44             d = 1 / (1 / 273.16 - log(((h - t) / 0.5555 + 10.0) / 6.11) / 5417.7530)  - 273.16;
45         }
46         else if (h==200){
47             h = t + 0.5555*(6.11*exp(5417.7530*((1 / 273.16) - (1 / (d + 273.16)))) - 10.0);
48         }
49         cout << "T " << t << " D " << d << " H " << h << endl;
50     }
51     return 0;
52 }

 

posted @ 2018-04-24 21:34  醉涅磐  阅读(89)  评论(0)    收藏  举报