这是我正在做的一项任务。我很确定这是我遗漏的一些小问题,但看到我在学习其他类(class)后正在深夜努力工作,我相信另一双眼睛可以帮助我。我应该有这样的东西:
please enter first value---> 5.2
please enter second value---> 1.0
please enter third value-->7.1
smallest value: 1.0
largest value: 7.1
但是会得到一些奇怪的数字,例如最小值 002C128F 和最大值 002C128A。
我将不胜感激任何反馈。我不是要求完成作业。看到我被困住了,我只需要一些指导。也许我的 if
语句是错误的?感谢您的时间。
#include <iostream>
using namespace std;
double min2 (double &a, double &b,double &c)
{
double min=0;
if(a<b)
min= a;
else
min=b;
if (c<b)
min=c;
return min;
}
double max2(double &a, double &b, double &c)
{
double max=0;
if(a>b)
max=a;
else
max=b;
if (c>b)
max=c;
return max;
}
int main()
{
double a,b,c=0;
min2(a,b,c);
max2(a, b, c);
cout << "Author: Jose Soto.\n";
cout<<"enter first value: ";
cin>>a;
cout<<"enter second value: ";
cin>>b;
cout<<"enter third value:";
cin>>c;
cout<<"The smallest value is: "<<min2<<endl;
cout<<"The largest value is: "<<max2<<endl;
}
最佳答案
min2
和 max2
函数的返回值永远不会被使用。您正在打印函数的地址。
也许您正在寻找:
// ...
cout << "The smallest value is: " << min2(a, b, c) << endl;
cout << "The largest value is: " << max2(a, b, c) << endl;
您必须在获得用户输入之后调用函数,而不是在此之前。
关于c++ - 我正在尝试显示我输入的三个值中最大和最小的数量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21403749/