求各位大神指导C++,蓝桥杯的一道题目

题目和我的源代码附上,可是为什么运行出来没有结果呢图片说明图片说明图片说明图片图片

include

int main(void)
{
int x,y;//x is beer
for(y = 1; y < 44; ++ y)
{
for( x = 0; x < y; ++x)
{
if( 82.3 == 2.3 * x + 1.9 * y)
{
printf("啤酒数量为 : %d ",x);// 11
}
}
}

return 0;

}

 #include <iostream>  

using namespace std;  

int main(){  
    for(int i = 0; i < 40; ++i){  
        for(int j = 1; j < 43; ++j){  
            if(i > j)continue;  
            if(i * 23 + j * 19 == 823){  
                cout<<i<<" "<<j<<endl;  
            }  
        }  
    }  
    return 0;  
} 

结果11

这个是蓝桥杯省赛的题?还是自己学校的选拔提?

#include
using namespace std;
int main()
{
int x,y;//x->啤酒,y->饮料
for(y=1;y<=43;y++)
{
for(int x=y-1;x>=0;x--)
{
if(x*2.3+y*1.9<82.3) break;
if(2.3*x+1.9*y==82.3)
{
cout<<x<<endl;
}
}
}
return 0;
}
结果在Dev上测评是11.

判断两个浮点数是否相等是不能直接用==的,t == 82.3这个条件始终不满足,也就形成了死循环,不会有结果了