POJ_3299 Humidex(简单题)

这是一道关于湿度指数计算的简单编程题,重点在于理解并应用给定的数学公式。在处理输入和输出时需要注意特定的细节,如使用getchar()处理额外输入,并解决在G++编译器中double类型输出的问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

题意:

很长,但是重点就是几个公式。

思路:

题目给出了公式,知道两个未知量求第三个。

C要注意输入时适当的getchar()。

另外在输出的时候用G++的编译器总是过不了double类型变量lf占位符输出。解决方法是要么改成f占位,要么改成C++编译器输出。

代码实现:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>

using namespace std;

char flag;
double num;
bool fT,fD,fH;
double T,D,H;
double E,humidex;
int main()
{
    while( scanf("%c",&flag) ){
        if( flag == 'E' ){
            break;
        }
        fT = fD = fH = false;
        scanf("%lf",&num);
        if( flag == 'T' ){
            T = num;
            fT = true;
        }
        else if( flag == 'D' ){
            D = num;
            fD = true;
        }
        else if( flag == 'H' ){
            humidex = num;
            fH = true;
        }
        getchar();
        scanf("%c",&flag);
        getchar();
        scanf("%lf",&num);
        if( flag == 'T' ){
            T = num;
            fT = true;
        }
        else if( flag == 'D' ){
            D = num;
            fD = true;
        }
        else if( flag == 'H' ){
            humidex = num;
            fH = true;
        }
        if( fT && fD ){
            E = 6.11*exp((5417.7530)*((1/273.16)-(1/(D+273.16))));
            H = (0.5555)*(E-10.0);
            humidex = T+H;
        }
        else if( fT && fH ){
            H = humidex-T;
            E = H/(0.5555)+10.0;
            D = 1/(-(log(E/6.11)/5417.7530)+(1/273.16))-273.16;
        }
        else if( fD && fH ){
            E = 6.11*exp((5417.7530)*((1/273.16)-(1/(D+273.16))));
            H = (0.5555)*(E-10.0);
            T = humidex-H;
        }
        printf("T %.1lf D %.1lf H %.1lf\n",T,D,humidex);
        getchar();
    }
    return 0;
}


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值