首页 > 试题广场 >

输入a、b和c的值,编写一个程序求这三个数的最大值和最小值。

[问答题]

输入abc的值,编写一个程序求这三个数的最大值和最小值。要求:把求最大值和最小值操作分别编写成一个函数,并使用指针或引用做为形式参数把结果返回main函数。

推荐

(1)使用指针参数

#include<iostream>
using namespace std;
void fmaxmin( double,double ,double ,double *,double * );
int main()
{
double a,b,c,max,min;
cout << "a,b,c = ";
cin >> a >> b >> c;
fmaxmin( a,b,c,&max,&min );
cout << "max=" << max << endl;
cout << "min=" <<min << endl;
}
void fmaxmin( double x,double y,double z,double *p1,double *p2 )
{
double u,v;
if ( x>y )
{ u = x; v = y; }
else
{ u = y; v = x; };
if ( z>u ) u = z;
if ( z<v ) v = z;
*p1 = u;
*p2 = v;
}

(2)使用引用参数

#include<iostream>
using namespace std;
void fmaxmin( double,double ,double ,double& ,double& );
int main()
{
double a,b,c,max,min;
cout << "a,b,c=";
cin >> a >> b >> c;
fmaxmin( a,b,c,max,min );
cout << "max=" << max << endl;
cout << "min=" << min << endl;
}
void fmaxmin( double x,double y,double z,double &p1,double &p2 )
{
double u,v;
if ( x>y )
{ u = x; v = y; }
else
{ u = y; v = x; };
if ( z>u ) u = z;
if ( z<v ) v = z;
p1 = u;
p2 = v;
}

发表于 2018-05-07 11:38:03 回复(0)