社区讨论
小数该怎么判断相等与否啊?
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 条回复,欢迎继续交流。
正在加载回复...