杭电2570代码哪里错了,为什么WA

#include<stdio.h>intmain(){inti,j,k,n,v,w,f,s,a[100],t,m;scanf("%d",&m);while(m--){sc... #include<stdio.h>
int main()
{
int i,j,k,n,v,w,f,s,a[100],t,m;
scanf("%d",&m);
while(m--)
{
scanf("%d%d%d",&n,&v,&w);
for(j=0;j<n;j++)
{
scanf("%d",&a[j]);
}
for(j=0;j<n-1;j++)
{
for(k=0;k<n-j-1;k++)
{
if(a[k]>a[k+1])
{
t=a[k];
a[k]=a[k+1];
a[k+1]=t;
}
}
}
s=0,f=1;
for(j=0;j<n;j++)
{
s+=a[j];
if(1.0*s/(j+1)>w)
{
if(j!=0)
{
printf("%d %.2lf\n",j*v,1.0*(s-a[j])/(j*v));
}
else
printf("%d %.2lf\n",0,0.00);
f=0;
break;
}
}
if(f==1)
{
printf("%d %.2lf\n",n*v,1.0*s/(n*v));
}
}
return 0;
}
展开
 我来答
百度网友6f87babd4
2012-04-17 · TA获得超过1395个赞
知道小有建树答主
回答量:948
采纳率:50%
帮助的人:363万
展开全部
输出的是解药的浓度,跟体积是没有关系的。
printf("%d %.2lf\n",j*v,1.0*(s-a[j])/(j*v)); ==>printf("%d %.2lf\n",j*v,1.0*(s-a[j])/(j*100));

printf("%d %.2lf\n",n*v,1.0*s/(n*v));==> printf("%d %.2lf\n",n*v,1.0*s/(n*100));
追问
题目中的100是输进的体积v,当体积变化怎么办即体积不是100怎么办
追答
哥哥,你理解错了,那100不是体积,而是把百分数转化成小数。输入的浓度是Pi%,用百分号表示,输出的浓度是用浮点数来表示的。
体积你不用管的,因为每一瓶解药的体积V都相同,比如一瓶20%的和一瓶30%的混在一起,不管体积是多少,浓度肯定是25%。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式