首页 > 其他分享 >利用函数模板解决双倍功能 利用类模板解决绝对值功能 vector应用测试

利用函数模板解决双倍功能 利用类模板解决绝对值功能 vector应用测试

时间:2023-05-26 18:22:04浏览次数:42  
标签:功能 cout int 样例 vector include 模板

请使用模板参数设计实现双倍功能函数,函数功能要求实现返回值为输入参数的两倍,函数参数应能适应整型、浮点型、双精度型等各种类型,返回值类型与参数一样。

裁判测试程序样例:

 
#include <iostream>
using namespace std;

/*请在这里填写答案*/

int main(void){
    char c='\0';
    int i=0;
    long l=0;
    scanf("%c%d%ld",&c,&i,&l);
    cout<<Double(c)<<endl;
    cout<<Double(i)<<endl;
    cout<<Double(l)<<endl;
    float f=1.1;
    double d=2.2;
    scanf("%f%lf",&f,&d);
    cout<<Double(f)<<endl;
    cout<<Double(d)<<endl;
    return 0;
}
 

输入样例:

0
1
200000
3.45
6.789
 

输出样例:

`
2
400000
6.9
13.578




template<class T>
T Double(T x)
{
return 2*x;
}

 

 

 

 

 

请使用模板参数设计实现绝对值模板类Absolute,Absolute类功能要求成员函数getValue(void)const计算类数据的绝对值,类数据类型应能适应整型、浮点型、双精度型等各种类型,绝对值类型与类数据一样。

裁判测试程序样例:

 
#include <iostream>
using namespace std;

/*请在这里填写答案*/

int main(void){
    char c='\0';
    int i=0;
    long l=0;
    scanf("%c%d%ld",&c,&i,&l);
    float f=1.1;
    double d=2.2;
    scanf("%f%lf",&f,&d);
    Absolute<char> dc(c);
    cout<<dc.getValue()<<endl;
    Absolute<int> di(i);
    cout<<di.getValue()<<endl;
    Absolute<long> dl(l);
    cout<<dl.getValue()<<endl;
    Absolute<float> df(f);
    cout<<df.getValue()<<endl;
    Absolute<double> dd(d);
    cout<<dd.getValue()<<endl;
    return 0;
}
 

输入样例:

a
-2
300000
-4.56
7.89
 

输出样例:

a
2
300000
4.56
7.89






template<class T>
class Absolute
{
public:
T x;
Absolute(T y)
{
x=y;
}
T getValue(void)const
{
if(x<0)
return 0-x;
else
return x;
}
};

 

 

 

 

 

 

 

 

 

 

应用STL中的vector完成功能测试。

设计要求:

 
定义一个空的vector,将用户输入的数组a[10]的10个数插入到vector中,在vector头部插入数b,用迭代器遍历vector并输出其中的元素值。然后将vector从小到大排序,删除vector尾部的元素,用迭代器遍历vector并输出其中的元素值。最后将vector清空。
 

裁判测试程序样例:

 
#include<iostream>
#include<vector>
#include<algorithm>
using namespace std;
int main(void)
{
    int i,a[10],b;
    for(i=0; i<10; i++){
        scanf("%d",&a[i]);
    }
    scanf("%d",&b);//插入的数
    {

/*请在这里填写答案*/

    }
    return 0;
}
 

输入样例:

9 8 7 6 5 4 3 2 1 10
0
 

输出样例:

[0][9][8][7][6][5][4][3][2][1][10]
[0][1][2][3][4][5][6][7][8][9]




vector<int> v;
for(i=0;i<10;i++)
{
v.push_back(a[i]);
}
v.insert(v.begin(),b);
vector<int>::iterator it;
for(it=v.begin();it!=v.end();it++)
{
cout<<"["<<*it<<"]";
}
cout<<endl;
sort(v.begin(),v.end());
v.pop_back();
for(it=v.begin();it!=v.end();it++)
{
cout<<"["<<*it<<"]";
}
v.clear();

标签:功能,cout,int,样例,vector,include,模板
From: https://www.cnblogs.com/zljzy/p/17432709.html

相关文章

  • 使用 PostMessage 函数来发送带有 std::vector 作为参数的消息
    使用PostMessage函数来发送带有std::vector作为参数的消息,您可以将std::vector的地址封装进LPARAM类型的指针中,并将其传递给PostMessage函数的lParam参数。在接收方,您需要使用reinterpret_cast将LPARAM转换回std::vector的指针,然后使用它来访问std::vector。下......
  • 多功能RTU环境采集网关支持温湿度风速采集
    无线工业物联网数据采集控制短信报警终端S475/S475E系列在工业物联网产业链中发挥着非常重要的作用,可以广泛应用于很多领域,例如智能电网、智能交通、智能家居、金融、移动POS终端、供应链自动化、工业自动化等。该系列产品内嵌工业级GSM/GPRS/3G/4G通信模块,并集成了稳定可靠......
  • 手机App模板开发的优势和弊端有哪些?
    手机App模板开发是自移动App开发行业产生以来,比较受欢迎、较简单的App制作方式,也是很多App开发公司提供给客户的服务,但凡事都有两面性,App模板制作手机客户端同时也具备一定的弊端,下面来看看手机App模板开发的优势和弊端。 手机App模板开发的优点App模板开发就是已经开发好的一套系......
  • EasyCVR视频融合平台设备分组共享功能的使用介绍
    EasyCVR视频融合平台基于云边端一体化架构,具有强大的数据接入、处理及分发能力,平台支持海量视频汇聚管理,可支持多协议、多类型的设备接入,并能对设备进行分级、分组管理,并支持权限、角色分配,属于功能全面、性能稳定、高可靠、高可用的流媒体视频云服务平台。很多用户都使用过平台的......
  • 《花雕学AI》36:探索Aski AI——集成问答、写作和绘画功能的强大AI平台
    引言:人工智能是当今时代的最热门和最有前途的技术之一,它可以帮助人类解决各种复杂和有趣的问题,提高生活和工作的效率和质量。然而,人工智能的应用还面临着许多挑战和局限,比如数据的稀缺和质量、算法的复杂性和可解释性、用户的需求和偏好等。为了克服这些难题,微软开发了一个集成问......
  • INFINI Labs 产品更新 | Console 新增数据比对、新增数据看板表格组件及支持下钻功能
    INFINILabs产品更新啦~,本次产品版本更新包括Gatewayv1.14.0、Consolev1.2.0、Easysearchv1.1.1等,其中Console在上一版基础上做了很多优化改进以及新增了一些特性,如新增数据比对校验功能、数据看板模块新增了表格组件、图表组件支持下钻功能等。欢迎下载体验。INFINIGat......
  • Flask009_模板的使用
    渲染模板index.html1<!DOCTYPEhtml>2<htmllang="en">3<head>4<metacharset="UTF-8">5<title>首页</title>6</head>7<body>8<h1>这是首页</h1>9</body&g......
  • 一步一步搭建Svn服务之VisualSVN扩展在线修改密码功能
    一、修改密码原理要实现客户端修改密码,其实就是通过apache的cgi模块去实现,就是把数据提交到那个指定的地址。本次操作需要用到ApachePasswd包,网上有很多apachepasswd的包,但是用了之后发现无法重启服务了,所以要找符合当前VisualSVN版本的包。我准备的附件在VisualSVN4.2.1和VisualS......
  • Vue3.3 的新功能的体验(下):泛型组件(Generic Component) 与 defineSlots
    上一篇说了DefineOptions、defineModel、Props的响应式解构和从外部导入类型这几个新功能,但是没有说Generic、defineSlots等,这是因为还没有完全搞清楚可以用在什么地方。折腾了几天终于弄清楚了。这还要从TS的泛型说起。泛型的目的和意义泛型仅仅只是表达传啥都行吗?当然......
  • Springboot集成百度地图实现定位打卡功能
    打卡sign表sqlCREATETABLE`sign`(`id`int(11)NOTNULLAUTO_INCREMENT,`user`varchar(255)COLLATEutf8mb4_unicode_ciDEFAULTNULLCOMMENT'用户名称',`location`varchar(255)COLLATEutf8mb4_unicode_ciDEFAULTNULLCOMMENT'打卡位置',`......