#include <stdio.h> #include <math.h> int main() { float Cw=4.19; float Ci=2.09; int Em=335; float a,b,c,d; float t,Mw,Mi; while(1) { scanf("%f%f%f%f",&a,&b,&c,&d); d=-d; if (a<0.001 && b<0.001 && c<0.001 && d<0.001) return 0; if (a*c*Cw-b*d*Ci>0) { if (a*c*Cw-b*d*Ci-b*Em>0) { Mw=a+b; Mi=0; t=(a*c*Cw-b*d*Ci-b*Em)/Cw/(a+b); } else { Mw=a+(a*c*Cw-b*d*Ci)/Em; Mi=b-(a*c*Cw-b*d*Ci)/Em; t=0; } } else { if (b*d*Ci-a*c*Cw-a*Em>0) { Mw=0; Mi=a+b; t=-(b*d*Ci-a*c*Cw-a*Em)/Ci/(a+b); } else { Mw=a-(b*d*Ci-a*c*Cw)/Em; Mi=b+(b*d*Ci-a*c*Cw)/Em; t=0; } } printf("%0.1f g of ice and %0.1f g of water at %0.1f C\n",Mi,Mw,t); } }

评论