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;
}
时间: 2024-08-05 14:33:05

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 1234

sdut 面向对象程序设计上机练习十二(运算符重载)

面向对象程序设计上机练习十二(运算符重载) Time Limit: 1000MS Memory limit: 65536K 题目描述 处理一个复数与一个double数相加的运算,结果存放在一个double型变量d1中,输出d1的值.定义Complex(复数)类,在成员函数中包含重载类型转换运算符:operator double(){return real;} 输入 输入占两行: 第1行是一个复数的实部和虚部,数据以空格分开. 第2行是一个实数. 输出 输出占一行,复数的实部和实数之和,小数点后保

sdut 面向对象程序设计上机练习三(有默认参数的函数)

面向对象程序设计上机练习三(有默认参数的函数) Time Limit: 1000MS Memory limit: 65536K 题目描述 利用默认参数的函数实现求2个或3个整数的最大值. 输入 输入3个int型整数. 输出 输出第1.2个整数及其最大值: 输出第1.2.3个整数及其最大值. 示例输入 88 66 99 示例输出 88 66 88 88 66 99 99 既然题目要求是调用默认的函数,就不用自己去定义了: 机智灵活的运用默认函数.. #include <iostream> usi

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 1234

sdut 面向对象程序设计上机练习七(类和对象)

面向对象程序设计上机练习七(类和对象) Time Limit: 1000MS Memory limit: 65536K 题目描述 利用类的数据成员和成员函数完成下列操作:输入三个整数,输出它们的最大值. 输入 输入三个整数. 输出 输出3个整数的最大值. 示例输入 2 8 5 示例输出 8 这个就不做详细注释了,初学者也能尝试着看懂. #include <iostream> using namespace std; class shu { private: int a,b,c; public:

sdut 面向对象程序设计上机练习四(变量引用)

面向对象程序设计上机练习四(变量引用) Time Limit: 1000MS Memory limit: 65536K 题目描写叙述 将变量的引用作为函数形參,实现2个int型数据交换. 输入 输入2个int型整数. 输出 输出2个整数交换前后的值. 演示样例输入 88 66 演示样例输出 88 66 66 88 把变量的引用作为函数形參,即传送变量的别名. #include <iostream> using namespace std; //"引用形參"交换函数 void

sdut 面向对象程序设计上机练习五(简单类和对象)

面向对象程序设计上机练习五(类和对象) Time Limit: 1000MS Memory limit: 65536K 题目描述 定义类Time,Time有3个公用的数据成员hour.min.sec分别表示小时.分.秒. 在主函数main中定义Time类对象t1,在主函数main中输入t1的各数据成员再并输出各数据成员. 输入 输入类对象的3个数据成员hour.min.sec. 输出 输出类对象的3个数据成员hour.min.sec. 示例输入 9 10 11 示例输出 9:10:11 #inc

sdut 面向对象程序设计上机练习六(类和对象)

面向对象程序设计上机练习六(类和对象) Time Limit: 1000MS Memory limit: 65536K 题目描述 用类成员函数完成5个整型数组元素的输入.从小到大排序.排序后数组元素的输出. 输入 输入5个数组元素. 输出 输出5个数组元素从小到大排序后的结果.(最后一个数后面既没有空格也没有换行) 示例输入 8 9 1 5 4 示例输出 1 4 5 8 9 提示 来源 zlh 示例程序 #include <iostream> using namespace std; //定义

sdut 面向对象程序设计上机练习九(对象指针)

面向对象程序设计上机练习九(对象指针) Time Limit: 1000MS Memory limit: 65536K 题目描述 建立对象数组,内放5个学生数据(学号是字符串类型.成绩是整型),设立max函数,用指向对象的指针作函数参数,在max函数中找出5个学生中成绩最高者,并输出其学号和成绩. 输入 输入5个学生数据. 输出 输出5个学生中成绩最高者的学号和成绩. 示例输入 01 89 02 78 03 56 04 92 05 76 示例输出 04 92 来源 #include <iostr