这个是我以前做实验的时候写的,是求较大值的,你改一下判断条件就能求较小值了。
#include<iostream>
using namespace std;
int Max1(int m,int n);
int Max1(int m,int n,int o);
double Max1(double m,double n);
double Max1(double m,double n,double o);
void main()
{
int a[2],b,c,d; char ch;
double h,i,k;
A: cout<<"请输入要比较的数的个数:(两个或三个)"<<endl;
cin>>a[0];
if(a[0]!=2&&a[0]!=3) {
cout<<"对不起,你输入错误,请重新选择。"<<endl;
goto A;
}
B: cout<<"请输入要比较的数的类型:(1-int,2-double)"<<endl;
cin>>a[1];
switch(a[0]){
case 2: {
if(a[1]==1) {
cout<<"请输入要比较的两个int型数:" <<endl;
cin>>b>>c;
cout<<"较大的数为:"<<Max1(b,c)<<endl;
break;
}
else if(a[1]==2) {
cout<<"请输入要比较的两个double型数:" <<endl;
cin>>h>>i;
cout<<"较大的数为:"<<Max1(h,i)<<endl;
break;
}
else {
cout<<"对不起,你输入错误,请重新选择。"<<endl;
goto B;
}
}
case 3: {
if(a[1]==1) {
cout<<"请输入要比较的三个int型数:"<<endl;
cin>>b>>c>>d;
cout<<"较大的数为:"<<Max1(b,c,d)<<endl;
break;
}
else if(a[1]==2) {
cout<<"请输入要比较的三个double型数:"<<endl;
cin>>h>>i>>k;
cout<<"较大的数为:"<<Max1(h,i,k)<<endl;
break;
}
else{
cout<<"对不起,你输入错误,请重新选择。"<<endl;
goto B;
}
}
}
cout<<"重新运行?Y or N?"<<endl<<"输入Y重新运行,输入其它字符退出。"<<endl;
cin>>ch;
if(ch=='y'||ch=='Y') main();
else exit;
system("pause");
}
int Max1(int m,int n)
{
if(m>n) return m;
else return n;
}
int Max1(int m,int n,int o)
{
int x;
x=Max1(m,n);
x=Max1(x,o);
return (x);
}
double Max1(double m,double n)
{
if(m>n) return m;
else return n;
}
double Max1(double m,double n,double o)
{
double x;
x=Max1(m,n);
x=Max1(x,o);
return (x);
}
温馨提示:内容为网友见解,仅供参考