通过这个题弄明白了输出格式的问题;
之前一直搞不懂%c %c什么时候用getchar();
这一次发现用‘ ’就可以了,不过不要忘了换行要用getchar()
代码如下
#include<cstdio>
#include<iostream>
#include<cstring>
#include<algorithm>
#include<cmath>
using namespace std;
int main()
{
double t,d,h;
char temp;
while(~scanf("%c",&temp)){
if(temp=='E') break;
t=d=h=200;
if(temp=='T') scanf(" %lf",&t);
if(temp=='D') scanf(" %lf",&d);
if(temp=='H') scanf(" %lf",&h);
scanf(" %c",&temp);
if(temp=='T') scanf(" %lf",&t);
if(temp=='D') scanf(" %lf",&d);
if(temp=='H') scanf(" %lf",&h);
getchar();
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;
}
printf("T %.1f D %.1f H %.1f\n",t,d,h);
}
}