sdut 面向对象程序设计上机练习二(函数模板)

来源:互联网 发布:怎么编写软件 编辑:程序博客网 时间:2024/05/12 07:14

面向对象程序设计上机练习二(函数模板)

Time Limit: 1000MS Memory limit: 65536K

题目描述

利用数组和函数模板求5个数最大值(分别考虑整数、单精度、长整数的情况)。

输入

分别输入5个int型整数、5个float 型实数、5个long型正整数。

输出

分别输出5个int型整数的最大值、5个float 型实数的最大值、5个long型正整数的最大值。

示例输入

11 22 666 44 5511.11 22.22 33.33 888.88 55.551234567 222222 333333 444444 555555

示例输出

666888.881234567


同一道题,运用函数模板就比运用函数重载要省事很多

而且代码的可读性和简洁性都有了。。

#include <iostream>using namespace std;//模板声明,T为类型参数template <typename T>//定义一个通用函数,用T做虚拟的类型名T max(T a[]){    int i;    T m=0;    for(i=0; i<5; i++)    {        if(a[i]>m)            m=a[i];    }    return m;}//主函数int main(){    int i;    int x[5],X;    float y[5],Y;    long z[5],Z;//输入    for(i=0; i<5; i++)        cin >> x[i];    for(i=0; i<5; i++)        cin >> y[i];    for(i=0; i<5; i++)        cin >>z[i];//模板调用    X=max(x);    Y=max(y);    Z=max(z);//输出    cout << X << endl;    cout << Y << endl;    cout << Z << endl;    return 0;}


1 0
原创粉丝点击