二进制存储的原因,浮点数的大小比较不能用==号。
简化的处理是用fabs(a-b)<1e-6之类的方式
标题:啤酒和饮料
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。
简化的处理是用fabs(a-b)<1e-6之类的方式
标题:啤酒和饮料
啤酒每罐2.3元,饮料每罐1.9元。小明买了若干啤酒和饮料,一共花了82.3元。
我们还知道他买的啤酒比饮料的数量少,请你计算他买了几罐啤酒。
#include<stdio.h>
#include<math.h>
int main()
{
int x,y;//x代表瓶酒数,y代表饮料数
for(x=1;x<40;x++)
{
for(y=1;y<50;y++)
{
// if((2.3*x+1.9*y==82.3)&&(x<y))//错误的 浮点数的大小比较不能用==号。
if((fabs(2.3*x+1.9*y-82.3)<0.000006)&&x<y)
{
printf("%d\n",x);
}
}
}
return 0;
}