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

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

Time Limit: 1000MS Memory limit: 65536K

题目描述

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

输入

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

输出

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

示例输入

11 22 666 44 55
11.11 22.22 33.33 888.88 55.55
1234567 222222 333333 444444 555555

示例输出

666
888.88
1234567


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

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

#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
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值