函数模板--求n个数的和

函数模板--求n个数的和

时间: 1ms        内存:128M

描述:

利用函数模板求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

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
#include<string.h>
int main()
{
int i,b[4],aa=0,bb=0;
float c[4],cc=0.0;
char a[5];
for(i=0;i<4;i++)
{
scanf("%c",&a[i]);
aa+=a[i]-64;
}
for(i=0;i<4;i++)
{
	scanf("%d",&b[i]);
	bb+=b[i];
}
for(i=0;i<4;i++)
{
scanf("%f",&c[i]);
cc+=c[i];
}
printf("%d\n%d\n%g\n",aa,bb,cc);
return 0;
}

参考答案(时间最优[0]):


#include <iostream>
using namespace std;
template <class T>
T sum(T a,T b,T c,T d)
{
	T sum;
	sum=a+b+c+d;
	return sum;
}

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;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注