首页 > 代码库 > OJ刷题之《函数模板--求n个数之和》

OJ刷题之《函数模板--求n个数之和》

 

题目描述

利用函数模板求4个数的和。
部分代码已给定如下,只需要提交缺失的代码。

#include <iostream>
using namespace std;
/*
 
补充缺少代码
*/
int main()
{
    double result;
    unsigned char c1,c2,c3,c4;
    cin>>c1>>c2>>c3>>c4;
    result = sum<unsigned char>(c1,c2,c3,c4);
    cout<<int(result)<<endl;

    int i1,i2,i3,i4;
    cin>>i1>>i2>>i3>>i4;
    result = sum<int>(i1,i2,i3,i4);
    cout<<result<<endl;

    double d1,d2,d3,d4;
    cin>>d1>>d2>>d3>>d4;
    result = sum<double>(d1,d2,d3,d4);
    cout<<result<<endl;

    return 0;
}

输入

第一行4个字符
第二行4个整数
第三行4个小数

输出

第一行4个字符ascii的和
第二行4个整数的和
第三行4个小数的和

样例输入

abcd

1 2 3 4

1.1 2.2 3.3 4.4

样例输出

138

10

11

 

 

代码如下:

#include <iostream>
using namespace std;
template <class T>
T sum(T a,T b,T c,T d)
{
    return a+b+c+d;
}
int main()
{
    double result;
    unsigned char c1,c2,c3,c4;
    cin>>c1>>c2>>c3>>c4;
    result = sum<unsigned char>(c1,c2,c3,c4);
    cout<<int(result)<<endl;

    int i1,i2,i3,i4;
    cin>>i1>>i2>>i3>>i4;
    result = sum<int>(i1,i2,i3,i4);
    cout<<result<<endl;

    double d1,d2,d3,d4;
    cin>>d1>>d2>>d3>>d4;
    result = sum<double>(d1,d2,d3,d4);
    cout<<result<<endl;
    return 0;
}


运行结果:

技术分享

 

一直以为函数模板就只是书上的一个例子,老师在这里也没多讲,也就没在意,,,结果这个项目就把我给坑了。。。

 

 

 

 

 

 

 

 

 

OJ刷题之《函数模板--求n个数之和》