求助
  • 板块灌水区
  • 楼主TimelessWelkin
  • 当前回复4
  • 已保存回复4
  • 发布时间2023/12/20 21:19
  • 上次更新2023/12/21 11:48:38
查看原帖
求助
727185
TimelessWelkin楼主2023/12/20 21:19

最近我在做数学题,题面我就不打了,然后用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;
}

这时候就有输出了。

求助万能的股民谷民们,这是为什么?

2023/12/20 21:19
加载中...