最近我在做数学题,题面我就不打了,然后用DEV-C++去遍历搜索答案
已知答案分别为: 2.5 6.5 1.5
然后我把代码中的+0.5改为了+0.1
然后就没有输出了。
代码如下:
#include<bits/stdc++.h>
using namespace std;
int main(){
double j,y,b;
int he=72;
for(j=1;j<=2.6;j+=0.1){
for(y=1;y<=6.6;y+=0.1){
for(b=1;b<=1.6;b+=0.1){
if(j+y==9.0 && y+b==8.0 && b+j==4.0){
printf("甲:%.1lf 乙:%.1lf 丙:%.1lf\n",j,y,b);
}
if(j+y==9 && y+b==8){
printf("1甲:%.1lf 乙:%.1lf 丙:%.1lf\n",j,y,b);
}
if(j+y==9){
printf("2甲:%.1lf 乙:%.1lf 丙:%.1lf\n",j,y,b);
}
//printf("j=%.1lf y=%.1lf b=%.1lf j+y=%.1lf y+b=%.1lf b+j=%.1lf\n",j,y,b,j+y,y+b,b+j);
}
}
}
return 0;
}
发现根本没有输出,然后我又改了改代码(码风不良勿喷)
#include<bits/stdc++.h>
using namespace std;
int main(){
double j,y,b;
int he=72;
for(j=2.5;j<=2.6;j+=0.1){
for(y=6.5;y<=6.6;y+=0.1){
for(b=1.5;b<=1.6;b+=0.1){
if(j+y==9.0 && y+b==8.0 && b+j==4.0){
printf("甲:%.1lf 乙:%.1lf 丙:%.1lf\n",j,y,b);
}
if(j+y==9 && y+b==8){
printf("1甲:%.1lf 乙:%.1lf 丙:%.1lf\n",j,y,b);
}
if(j+y==9){
printf("2甲:%.1lf 乙:%.1lf 丙:%.1lf\n",j,y,b);
}
//printf("j=%.1lf y=%.1lf b=%.1lf j+y=%.1lf y+b=%.1lf b+j=%.1lf\n",j,y,b,j+y,y+b,b+j);
}
}
}
return 0;
}
这时候就有输出了。
求助万能的股民谷民们,这是为什么?