c++程序怎么用函数重载,实现两个整数和三个浮点数的排序,并按照从小到大的顺序将排序结果输出?

如题所述

第1个回答  2018-02-02
#include <iostream>
using namespace std;
void sort(int &a,int &b)
{
int temp;
if (a>b)
{
temp = a;
a = b;
b = temp;
}
}
void sort(float &a,float &b,float &c)
{
int temp[3];
if (b>a)
{
temp[0] = a;
temp[1] = b;
if (c>b)
temp[2] = c;
else
{
if (c<a)
{
temp[0] = c;
temp[1] = a;
temp[2] = b;
}
else
{
temp[1] = c;
temp[2] = b;
}

}
}
else
{
temp[0] = b;
temp[1] = a;
if (a>c)
{
if (b>c)
{
temp[0] = c;
temp[1] = b;
temp[2] = a;
}
else
{
temp[1] = c;
temp[2] = a;
}
}
else
temp[2] = c;
}
a = temp[0];
b = temp[1];
c = temp[2];
}
int main()
{
int a,b;
float c,d,e;
cout<<"请输入两个整数:"<<endl;
cin>>a>>b;
sort(a,b);
cout<<"排序之后:"<<a<<"\t"<<b<<"\t"<<endl;
cout<<"请输入三个浮点数:"<<endl;
cin>>c>>d>>e;
sort(c,d,e);
cout<<"排序之后:"<<c<<"\t"<<d<<"\t"<<e<<"\t"<<endl;
return 0;
}本回答被网友采纳

...两个整数和三个整数的排序,按照从小到大的顺序将排序结果输出。_百 ...
int main(){ int a,b; int c,d,e; cout<<"请输入两个整数:"<<endl; cin>>a>>b; sort(a,b); cout<<"排序之后:"<<a<<" "<<b<<" "<<endl; cout<<"请输入三个整数:<<endl; cin>>c>>d>>e; sort(c,d,e); cout<<"排序之后:"<<c...

c++用重载函数把两个或三个数从大到小排序
然后外部循环输出数组ar,当然,a,b可以以数组形式作为一个参数传入,例如fun(a[], ar[]),或fun(ar[]),后者表示ab就在ar中

求一个c++编程编写重载函数min可分别求取2个整数、3个整数、2个双精度...
cout<<Min(4.0,3.0)<<"\\t"<<Min(9.0,7.0,8.0)<<endl;getch();}

用函数模板实现重载函数max1可分别求取两个整数,三个整数,两个双精度数...
T max(T a, T b, T c=0){ T n;if(!c) c=a; \/\/对于两个形参也可以,但是对于三个形参,在调用函数的时候如果a,b,c,中有一个为零,有意识的使其c!=0就OK~n = a > b ? a : b;n = n > c ? n : c;return n;} 这个是有问题的,要是a和b都是负数,而c为0时...

用vs编写c++重载函数maxl可以分别求两个整数,三个整数,两个三精度...
double max(double f1, double f2){ return (f1>f2)?f1:f2;} double max(double x1,double x2,double x3){ double y = max(x1,x2); return (y>x3)? y:x3;} int main(){ int x1=1, x2=3, x3=2;printf("max(%d,%d)= %d\\n", x1, x2, max(x1, x2));printf("max(...

用c++编写重载函数max1课分别求取2个整数、3个整数、2个双精度数和3个...
int Max1(int a,int b){ if(a>b)return a;else return b;} double Max1(double x,double y){ if(x>y)return x;else return y;} int Max1(int a,int b,int c){ return Max1(a,Max1(b,c));} double Max1(double x,double y,double z){ return Max1(x,Max1(y,z));}...

用C++(用函数编程)输入两个或三个整数,求出最大值
;return max;} void main(){ int i,n,max=0,a[M];printf("请输入要比较的整数个数:\\n");scanf("%d",&n);for(i=0;i<n;i++)scanf("%d",&a[i]);max=sort(a,n);\/\/函数名和局部变量不能使用同一个名称 printf("最大的整数是:\\n%d\\n",max);getchar();getchar();} ...

编写程序,实现两个整数和三个整数的加法(其中add()函数设计成重载函数...
1、两个整数进行异或运算,可以获得不带进位的和,两个整数进行与运算然后左移一位,可获取其进位的值,将所得数字继续相同的步骤,直到进位的值为 0 。2、根据算法思想,编码实现算法。3、编写测试代码。4、运行测试代码,观察舒服,符合预期。5、平台提交算法,测试通过。

在C++中怎么搞清楚函数重载,函数重构以及运算符重载这些概念呢??我现 ...
函数重载就相当于汉语中的一词多意。根据参数的数目和类型做不同的调用。比如要做一个加法的程序,函数名都为add,但是我要做集中加法,1.整形的加法,完成两个整数的相加,返回和 int add(int,int)2.浮点数的加法,完成两个浮点数的相加,返回浮点和 float add(float,float)3.字符串的...

大侠,请设计一个c++程序,用重载函数实现计算两个数的平方和。分别实现整...
double square(double x, double y);int main(){ \/\/ 测试 cout<<square(2, 4)<<endl;cout<<square(2.1f, 4.5f)<<endl; \/\/ 注意这个地方数值后要加 f cout<<square(2.1, 4.5)<<endl;return 0;} int square(int x, int y){ cout<<"int: "; \/\/ 证明 return x * x +...

相似回答