杭电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;
} 展开
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;
} 展开
1个回答
展开全部
输出的是解药的浓度,跟体积是没有关系的。
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));
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%。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询