小数该怎么判断相等与否啊?
查看原帖
小数该怎么判断相等与否啊?
1375584
Shi_No_Bu_楼主2024/7/18 12:23

有一个疑问,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,但判断却没有被执行,这是为什么?应该怎么改? 求大佬指点

2024/7/18 12:23
加载中...