POJ_3299

http://poj.org/problem?id=3299

求的不全是H,也有可能是T或D。

复制代码
/*
    POJ_3299
    
    humidex = temperature + h
    h = (0.5555)× (e - 10.0)
    e = 6.11 × exp [5417.7530 × ((1/273.16) - (1/(dewpoint+273.16)))]
*/
#include<stdio.h>
#include<math.h>
#include<string.h>
#define EXP 2.718281828
double Hh(double da,double db){
    double e,h;
    e = 6.11*pow(EXP,(5417.7530 * ((1/273.16) - (1/(db+273.16)))));
    h = (0.5555)*(e-10.0);
//    printf("e %e\nh %e\n",&e,&h);
    return da+h;
}
double Dd(double da,double db){
    double e,h;
    h = db-da;
    e = h/0.5555+10.0;
    return 1/(1/273.16-log(e/6.11)/5417.7530)-273.16;
}
double Tt(double da,double db){
    double e,h;
    e = 6.11*pow(EXP,(5417.7530 * ((1/273.16) - (1/(da+273.16)))));
    h = (0.5555)*(e-10.0);
    return db-h;
}
int main(){
    char ca,cb;
    double da,db;
    while(true){
        scanf("%c",&ca);
        if(ca=='E'){
            break;
        }
        scanf("%lf %c %lf",&da,&cb,&db);
        if(ca=='T'&&cb=='D'){
            printf("T %.1lf D %.1lf H %.1lf\n",da,db,Hh(da,db));
        }
        else if(ca=='D'&&cb=='T'){
            printf("T %.1lf D %.1lf H %.1lf\n",db,da,Hh(db,da));
        }
        else if(ca=='T'&&cb=='H'){
            printf("T %.1lf D %.1lf H %.1lf\n",da,Dd(da,db),db);
        }
        else if(ca=='H'&&cb=='T'){
            printf("T %.1lf D %.1lf H %.1lf\n",db,Dd(db,da),da);
        }
        else if(ca=='D'&&cb=='H'){
            printf("T %.1lf D %.1lf H %.1lf\n",Tt(da,db),da,db);
        }
        else if(ca=='H'&&cb=='D'){
            printf("T %.1lf D %.1lf H %.1lf\n",Tt(db,da),da,db);
        }
    }
    return 0;
}
复制代码

 

posted @   智人心  阅读(217)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· .NET10 - 预览版1新功能体验(一)
点击右上角即可分享
微信分享提示