| ||||||||||
| Online Judge | Problem Set | Authors | Online Contests | User | ||||||
|---|---|---|---|---|---|---|---|---|---|---|
| Web Board Home Page F.A.Qs Statistical Charts | Current Contest Past Contests Scheduled Contests Award Contest | |||||||||
Re:why WA ?In Reply To:why WA ? Posted by:syh791180600 at 2010-04-22 14:59:18 我改进了一下还是错……
#include <iostream>
#include <iomanip>
#define CW 4.19
#define CI 2.09
#define em 335
using namespace std ;
int main()
{
double mw = 0 , mi = 0 ;
double tw = 0 , ti = 0 ;
double t_finnal = 0 ;
while (cin >> mw >> mi >> tw >> ti)
{
if (mw == 0 && mi == 0 && tw == 0 && ti == 0)
{
break ;
}
else
{
if (mi == 0)
{
cout << "0.0 g of ice and " << fixed << setprecision(1) << mw << " g of water at "
<< setprecision(1) << tw <<" C" << endl ;
}
else
{
if (tw > 0)
{
if (ti < 0)
{
if ((mw * tw * CW) > (mi * (- ti) * CI + mi * em))
{
t_finnal = (mw * CW * tw - mi * em + mi * CI * ti) / (mi * CW + mw * CW ) ;
cout << "0.0 g of ice and " <<fixed << setprecision(1) << mw + mi <<" g of water at " <<
fixed << setprecision(1) << t_finnal << " C" << endl ;
}
else if ((mw * tw * CW) == (mi * (- ti) * CI + mi * em))
{
cout << "0.0 g of ice and " << fixed << setprecision(1) << mw + mi
<< " g of water at 0.0 C" << endl ;
}
else if ((mw * tw * CW) < (mi * (- ti) * CI + mi * em))
{
if (mw * CW * tw >= mi * (- ti) * CI)
{
cout << fixed << setprecision(1) << mi - ((mw * CW * tw + mi * ti * CI) / em)
<<" g of ice and " <<fixed << setprecision(1) <<mw + ((mw * CW * tw + mi * ti * CI) / em)
<< " g of water at 0.0 C" << endl ;
}
else if (mw * CW * tw < mi * (- ti) * CI)
{
t_finnal = (mw * CW * tw + mw * em + mi * CI * ti) / (mi * CI + mw * CI) ;
cout << fixed <<setprecision(1) << mi + mw << " g of ice and " << "0.0 g of water at "
<< fixed << setprecision(1) << t_finnal << " C" << endl ;
}
}
}
else if (ti == 0)
{
if (mw * CW * tw > mi * em)
{
t_finnal = (mi * CW * tw - mi *em) / (mw * CW + mi * CW) ;
cout << "0.0 g of ice and " << fixed << setprecision(1) << mi + mw
<< " g of water at " <<setprecision(1) <<t_finnal << " C" << endl ;
}
else if (mw * CW * tw == mi * em)
{
cout << "0.0 g of ice and " << fixed << setprecision(1) << mi + mw
<< " g of water at 0.0 C" << endl ;
}
else
{
cout << fixed << setprecision(1) << mi - (mw * CW * tw ) / em
<< " g of ice and " << setprecision(1) << mw + (mw * CW * tw ) / em
<< " g of water at 0.0 C" << endl ;
}
}
}
else if(tw == 0)
{
if (ti < 0)
{
if (mw * em >= mi * (- ti) * CI)
{
cout << fixed << setprecision(1) << mi - (mi * ti * CI) / em
<< " g of ice and " << setprecision(1) << mw + (mi * ti * CI) / em
<< " g of water at 0.0 C" << endl ;
}
else
{
t_finnal = (mw * em + mi * CI * ti) / (mi * CI + mw * CI ) ;
cout << fixed << setprecision(1) << mi + mw <<
" g of ice and 0.0 g of water at " << setprecision(1) << t_finnal << endl ;
}
}
}
}
}
}
return 0 ;
}
Followed by: Post your reply here: |
All Rights Reserved 2003-2013 Ying Fuchen,Xu Pengcheng,Xie Di
Any problem, Please Contact Administrator