//////////////////////出错的地方在这里
for(i=0,s=0;m!=0;++i) // 这里限制条件不该是 m!=0 ,换成 i
if(m>=b[i]) // 假若给的 m 就是0, 而且又有 b[i]=0;
{ // 你的条件就不行了
s+=a[i];
m-=b[i];
}
else
{
s+=(double)m/b[i]*a[i];
m=0;
}
// 这里还少个 右花括号
/////////////////////////////////////