用函数模板方法编写程序,对给各种不同类型的三个数分别求最大数。
就挺简单的 这题应该大家都没有什么问题吧?
函数模板会写不?(不会的翻开书本P268)
template <typename T>
void Max(const T a, const T b, const T c);
最大值会写不?(不会的点开数字校园-教务系统-成绩作废,选择程序设计基础,申请成绩作废,然后重修)
void Max(const T a, const T b, const T c)
{
T temp;
temp = a > b ? a : b;
cout<<"Max of "<<a<<","<<b <<","<<c<<"="<<(temp > c ? temp : c)<<endl;
}
选择结构if-elseif-else会写不?(不会的参照上一条中的提示重修)
cout<<"选择你要进行比较的数据类型:"<<endl;
cout<<"1.int 2.double 3.char\n";
int chs;
cin>>chs;
cout<<"请输入你要进行比较的三个数据:\n";
if(chs==1)
{
int a,b,c;
cin>>a>>b>>c;
Max(a,b,c);}
if(chs==2)
{
double a,b,c;
cin>>a>>b>>c;
Max(a,b,c);}
if(chs==3)
{
char a,b,c;
cin>>a>>b>>c;
Max(a,b,c);}
然后把它们拼在一起:
#include <iostream>
using namespace std;
template <typename T>
void Max(const T a, const T b, const T c)
{
T temp;
temp = a > b ? a : b;
cout << "Max of " << a << "," << b << "," << c << "=" << (temp > c ? temp : c) << endl;
}
int main()
{
cout << "选择你要进行比较的数据类型:" << endl;
cout << "1.int 2.double 3.char\n";
int chs;
cin >> chs;
cout << "请输入你要进行比较的三个数据:\n";
if (chs == 1)
{
int a, b, c;
cin >> a >> b >> c;
Max(a, b, c);
}
if (chs == 2)
{
double a, b, c;
cin >> a >> b >> c;
Max(a, b, c);
}
if (chs == 3)
{
char a, b, c;
cin >> a >> b >> c;
Max(a, b, c);
}
}
就完成了 没什么难度 我们下一题见