倚天屠龙记(函数模板)
目录
题目描述
思路分析
AC代码
题目描述
江湖中有一个传言,只要倚天剑和屠龙刀中暗藏的秘密拼到一起,就能得到天下无敌的内功秘笈。设计一个函数模板,完成拼凑的功能(将倚天剑的秘密连接到屠龙刀的后面),并将秘笈输出. 其中每个秘密由n个元素组成,类型为T。
输入
第一行输入t表示有t个测试实例
第二行先输入一个大写字母表示数据类型,I表示整数类型,D表示双精度数类型,C表示字符型;然后输入n表示数据个数。
第三行输入倚天剑的n个数据
第四行输入屠龙刀的n个数据
依次输入t个实例
输出
每行输出一个结果
输入样例1
2
I 5
5 3 51 27 9
27 0 0 5 1
C 5
kitty
hello
输出样例1
2700515351279
hellokitty
思路分析
咋一看题目在说什么东西?根据我们良好(bushi)的习惯,看不懂题目就看输入输出样例,毕竟题目是看不懂的,但输入输出发生了什么变化还是可以看出来的。
第一感觉就是拼起来了。
好了,要写一个模板函数,这意味着我们需要用一种套路把字符和数字都能拼起来,那就……直接拼……
我的思路就是开一个二倍长度的数组,让前面的一倍数组元素复制到后面的二倍数组剩余空间中,注意char型数组长度加1给结束符空间,然后输出二倍数组。
AC代码
#include <iostream>
using namespace std;
template<class T>
void together(T* a, T* b, int n)
{int i;for (i = n; i < 2 * n; i++)a[i] = b[i - n];for (i = 0; i < 2*n; i++)cout << a[i] ;cout << endl;
}
int main()
{int t,i,n;char instru;cin >> t;while (t--){cin >> instru >> n;if (instru == 'I'){int* a = new int[2 * n];int* b = new int[n];for (i = 0; i < n; i++)cin >> b[i];for (i = 0; i < n; i++)cin >> a[i];together(a, b, n);delete[] a;delete[] b;}else if (instru == 'D'){double* a = new double[2 * n];double* b = new double[n];for (i = 0; i < n; i++)cin >> b[i];for (i = 0; i < n; i++)cin >> a[i];together(a, b, n);delete[] a;delete[] b;}else{char* a = new char[2 * n + 1];char* b = new char[n + 1];for (i = 0; i < n; i++)cin >> b[i];for (i = 0; i < n; i++)cin >> a[i];together(a, b, n);delete[] a;delete[] b;}}return 0;
}
倚天屠龙记(函数模板)相关推荐
- C语言小知识:typedef\函数模板\
(1)typedef用法: typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等).在编程中使用t ...
- [C++再学习系列] 函数模板和类模板
函数模板和类模板 C++ 提供类模板和函数模板.函数模板允许重载 ,而类模板不允许重载(类无重载概念).类模板可以进行全特化和偏特化,而函数模板仅能够全特化 .因此,写一个看似函数模板偏特化的函数模板 ...
- C++ 函数模板和排序的函数模板——学习笔记
我们在使用重载函数时,只是使用了函数名,而函数体还是得分别定义,在C++中函数模板为我们很好的解决了这个问题. 1.函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函 ...
- 函数重载和 函数模板
一.函数重载(overload) #include <iostream> using namespace std;//计算两个参数a,b的乘积的函数 int product(int a,i ...
- C++_static,类模板、函数模板、namespace
C++_static,类模板.函数模板.namespace 1.static 2.类模板 3.函数模板 4.namespace 5.深入,更多细节 参考:侯捷<C++面向对象高级编程>
- 判断exception类型_C++核心准则T.44:使用函数模板推断类模板参数类型(如果可能)...
T.44: Use function templates to deduce class template argument types (where feasible) T.44:使用函数模板推断类 ...
- 第四章函数作业题,函数模板
什么是函数模板? 就是不写具体的数据类型,而用一个虚拟类型来代表,这样可以提高效率. #include <iostream> using namespace std;template< ...
- C++走向远洋——61(项目一、排序函数模板)
*/* Copyright (c) 2016,烟台大学计算机与控制工程学院* All rights reserved.* 文件名:text.cpp* 作者:常轩* 微信公众号:Worldhello* ...
- [转]C++函数模板与模板函数
1.函数模板的声明和模板函数的生成 1.1函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计.它的最大特点是把函数使用的数据类型作为参数. 函数模板 ...
最新文章
- Iar环境c语言调用汇编函数,如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数?...
- Ubuntu 12.04 下安装 VirtualBox 及虚拟机winxp的安装
- Linux学习--第十三天--日志、系统运行级别、grub加密
- Codeforces 264B Good Sequences ★ (分解素因子+DP)
- 斐波那契数与二分法的递归与非递归算法及其复杂度分析
- Android之实现首尾带圆角的多颜色水平条
- android获取应用安装通知消息,如何在Android 11 上获取已安装应用列表
- OSChina 周日乱弹 ——已经打码请放心观看
- Computer Science Theory for the Information Age-4: 一些机器学习算法的简介
- poj 3368 Frequent values rmq
- Spring整合MyBatis之SqlSessionFactory对象的产生
- ensp动态路由ospf基础配置
- zigbee学习之zigbee应用框架
- 来自《星际迷航》的灵感启发
- 数据库设计(1)_概念结构设计
- 本周白银市场再刮超级旋风
- OIM实现OIM用户修改、OIM用户Disable流程审批
- vue.js毕业设计,基于vue.js前后端分离在线教育视频点播小程序系统设计与实现
- 昆山苏南交易批发市场_库存管理系统项目总结
- 宁波三中机器人_宁波三中三个男生做了个机器人 获奥林匹克中国总决赛冠军...