2 qq 32641165 qq_32641165 于 2016.02.24 21:25 提问

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

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

5个回答

caozhy
caozhy   Ds   Rxr 2016.02.24 22:02
 #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

Rollchuchy
Rollchuchy   2016.02.24 22:38

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

Rollchuchy
Rollchuchy   2016.02.24 22:50

#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.

Rollchuchy
Rollchuchy 你的输出应该在return 0; 的前面,不然你还没将结果输出,你的程序就结束了。
接近 2 年之前 回复
qq_32641165
qq_32641165 我的源代码哪里错了??
接近 2 年之前 回复
Rollchuchy
Rollchuchy 头文件手机复制有点问题,不过你肯定知道是什么
接近 2 年之前 回复
zjdnwpu
zjdnwpu   2016.02.24 23:00

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

qq_32641165
qq_32641165 那怎么判断浮点数相等??
接近 2 年之前 回复
qq_33204081
qq_33204081   2016.02.24 21:42

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;

}

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!