社区讨论

小数该怎么判断相等与否啊?

P1888三角函数参与者 4已保存回复 8

讨论操作

快速查看讨论及其快照的属性,并进行相关操作。

当前回复
7 条
当前快照
1 份
快照标识符
@lyqrp5zt
此快照首次捕获于
2024/07/18 12:24
2 年前
此快照最后确认于
2024/07/18 14:07
2 年前
查看原帖
有一个疑问,cpp代码如下
CPP
#include<bits/stdc++.h>
using namespace std;
double a,b,c,arr[6],ans;
int main(){
	cin>>a>>b>>c;
	arr[0]=a/b;
	arr[1]=a/c;
	arr[2]=b/a;
	arr[3]=b/c;
	arr[4]=c/a;
	arr[5]=c/b;
	ans=min(min(min(min(arr[0],min(arr[1],arr[2])),arr[3]),arr[4]),arr[5]);//找出最小值
	cout<<ans<<endl;//这里ans输出了0.6
	for(int i=0;i<=6;i++){
		cout<<arr[i]<<endl;//这里输出的最小值也是0.6
		if(ans==arr[i]){
			ans==i;
			break;//但是这里的判断却没有被执行
		}
   cout<<ans<<endl;
      //这里的ans仍然是0.6,但是按照我上面的判断,这里应该为i
	}
	if(ans==0){//这下边是按照题目格式输出最小值
		cout<<a<<"/"<<b;
	}
	if(ans==1){
		cout<<a<<"/"<<c;
	}
	if(ans==2){
		cout<<b<<"/"<<a;
	}
	if(ans==3){
		cout<<b<<"/"<<c;
	}
	if(ans==4){
		cout<<c<<"/"<<a;
	}
	if(ans==5){
		cout<<c<<"/"<<b;
	}
	return 0;
}
上面的arr[i]和ans的值明明一样是0.6,但判断却没有被执行,这是为什么?应该怎么改? 求大佬指点

回复

8 条回复,欢迎继续交流。

正在加载回复...