poj 3299

来源:互联网 发布:软件界面开发工具 编辑:程序博客网 时间:2024/05/02 00:26
//poj 3299 数学公式 一次AC 但是写的比较多。。#include <iostream>#include <string>#include <iomanip>#include <cmath>using namespace std;int main(){char c;cin>>c;while(c != 'E'){double a, b;char c2;cin>>a;cin>>c2;cin>>b;double temp, dewpoint, humidex;if(c == 'D'){dewpoint = a;double e1 = 6.11 * pow(2.718281828, 5417.7530 * (( 1.0 / 273.16) - ( 1.0 / (dewpoint + 273.16))));double h = (0.5555) * ( e1 - 10.0 );if(c2 == 'T'){temp = b;humidex = temp + h;}else if (c2 == 'H'){humidex = b;temp = humidex - h;}} else if(c == 'T'){temp = a;if(c2 == 'D'){dewpoint = b;double e = 6.11 * pow(2.718281828, 5417.7530 * (( 1.0 / 273.16) - ( 1.0 / (dewpoint + 273.16))));double h = (0.5555) * ( e - 10.0 );humidex = temp + h;}else if (c2 == 'H'){humidex = b;double h = humidex - temp;double e = h / 0.5555 + 10.0;dewpoint = log(e / 6.11);dewpoint = ( 1.0 / 273.16 ) - dewpoint / 5417.7530;dewpoint = (1.0 / dewpoint - 273.16);}}else if(c == 'H'){humidex = a;if(c2 == 'D'){dewpoint = b;double e = 6.11 * pow(2.718281828, 5417.7530 * (( 1.0 / 273.16) - ( 1.0 / (dewpoint + 273.16))));double h = (0.5555) * ( e - 10.0 );temp = humidex - h;}else if (c2 == 'T'){temp = b;double h = humidex - temp;double e = h / 0.5555 + 10.0;dewpoint = log(e / 6.11);dewpoint = ( 1.0 / 273.16 ) - dewpoint / 5417.7530;dewpoint = (1.0 / dewpoint - 273.16);}}cout<<"T "<<fixed<<setprecision(1)<<temp<<" D "<<fixed<<setprecision(1)<<dewpoint<<" H "<<fixed<<setprecision(1)<<humidex<<endl;cin>>c;}return 0;}

0 0
原创粉丝点击