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

运行结果:

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

时间: 2024-10-16 03:30:35

OJ刷题之《函数模板--求n个数之和》的相关文章

OJ刷题之《输出不同进制的数》

题目描述 将十进制数1234按十进制输出 将八进制数1234按八进制输出 将十六进制数1234按十六进制输出 输入 无 输出 将十进制数1234按十进制输出 将八进制数1234按八进制输出 将十六进制数1234按十六进制输出 样例输入 无 样例输出 1234=1234D 01234=1234O 0x1234=1234H 提示 使用输出格式控制符 dec     oct     hex 输出第二行 01234=1234O    1234前是数字0,1234后是大写字母O 代码如下: #includ

OJ刷题之《输出A字打头的字符串》

Description 输出n个字符串,把其中以字母A打头的字符串输出. Input 第一行 n 第二行到第n+1行,每行一个字符串 Output A打头的字符串 Sample Input 3 Ada Bob Alice SampleOutput Ada Alice 代码如下: #include <iostream> #include <cstring> using namespace std; int main() { int i,n; string str[10]; cin&g

OJ刷题常用的4中基本输入形式

初到OJ网站上刷题,输入形式就是我们要考虑的问题.通过自己的一些摸索,OJ题目的输入形式大体上无外乎4种.下面就详细介绍: 1 输入数据文件中,第一行数据标明了测试数据的数目: 2 输入数据文件中,有标明输入结束的数据 3 输入数据文件中,测试数据一直到文件尾 4 没有输入数据 第1中情形的处理方法: //int i,kase scanf("%d",&kase); for(i=1;i<=kase;i++) { //处理第i中情况 } ...................

OJ刷题之《成绩输出》

Description 输入n(<=10)个学生的姓名.学号和成绩,将其中不及格者的姓名.学号和成绩输出. Input 第一行 n 第二行到第n+1行,每行一个学生的姓名.学号和成绩. Output 不及格者的姓名.学号和成绩. Sample Input 3 zhang 1001 100 li 1002 59 sun 1003 0 SampleOutput li 1002  59 sun 1003  0 代码如下: #include <iostream> using namespace

OJ刷题之《输入三个整数,按由小到大的顺序输出》

题目描述 输入三个整数,按由小到大的顺序输出.分别使用指针和引用方式实现两个排序函数.在主函数中输入和输出数据. 输入 三个整数 输出 由小到大输出成一行,每个数字后面跟一个空格.由指针方式实现. 由小到大输出成一行,每个数字后面跟一个空格.由引用方式实现. 样例输入 2 3 1 样例输出 1 2 3 1 2 3 提示 主函数已给定如下,提交时不需要包含下述主函数 /* C++代码 */ int main() { void sort1(int *,int *,int *); void sort2

第十五周oj刷题——Problem E: C++习题 对象数组求最大值

Description 建立一个对象数组,内放n(<10)个学生的数据(学号.成绩),设立一个函数max,用指向对象的指针作函数参数,在max函数中找出n个学生中成绩最高者,并输出其学号. Input n和n个学生的学号.成绩 Output 成绩最高者的学号和成绩 Sample Input 5 101 78.5 102 85.5 103 98.5 104 100.0 105 95.5 Sample Output 104 100.00 /* All rights reserved. * 文件名称:

基于C#解决OJ刷题之输入输出问题的总结(AKOJ1064-1071A+B问题汇总)

声明:题目部分为akoj题目,代码为本人AC代码. 因为本人学校的oj支持各种环境,非常正常的当中就包括了C#.然暑假在家较为空暇,本着学习C#和复习算法的态度和目的,就又開始折腾起oj了. 题目部分是最基础的A+B系列,来看看C#的输入输出是怎么一回事吧 题目地址:http://183.167.205.82:8081/JudgeOnline/problemlist?volume=1 本文由csdn-jtahstu原创.转载请注明出处,欢迎志同道合的朋友一起交流学习.本人QQ:137375842

第十五周oj刷题——Problem I: C++ 习题 比较大小-类模板

Description 声明一个类模板,利用它分别实现两个整数.浮点数和字符的比较,求出大数和小数.说明:在类模板外定义各成员函数. Input 输入两个整数.两个浮点数和两个字符 Output 从大到小输出两个整数.两个浮点数和两个字符 Sample Input 3 7 45.78 93.6 a A Sample Output 7 3 93.60 45.78 a A   /* All rights reserved. * 文件名称:test.cpp * 作者:陈丹妮 * 完成日期:2015年

oj刷题——第十五周C++习题 对象转换

Description 定义一个Teacher(教师)类(教师号,姓名,性别,薪金)和一个Student(学生)类(学号,姓名,性别,成绩),二者有一部分数据成员是相同的,num(号码),name(姓名),sex(性别).编写程序,将一个Student对象(学生)转换为Teacher(教师)类,只将以上3个相同的数据成员移植过去.可以设想为: 一位学生大学毕业了,留校担任教师,他原有的部分数据对现在的教师身份来说仍然是有用的,应当保留并成为其教师数据的一部分. Input 一个教师的信息和一个学

第十五周oj刷题—— Problem C: 矩形类中运算符重载【C++】

Description 定义一个矩形类,数据成员包括左下角和右上角坐标,定义的成员函数包括必要的构造函数.输入坐标的函数,实现矩形加法,以及计算并输出矩形面积的函数.要求使用提示中给出的测试函数并不得改动. 两个矩形相加的规则是:决定矩形的对应坐标分别相加,如 左下角(1,2),右上角(3,4)的矩形,与 左下角(2,3),右上角(4,5)的矩形相加,得到的矩形是 左下角(3,5),右上角(7,9)的矩形. 这个规则没有几何意义,就这么定义好了. 输出面积的功能通过重载"<<&quo