目录

题目描述

思路分析

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

倚天屠龙记(函数模板)相关推荐

  1. C语言小知识:typedef\函数模板\

    (1)typedef用法: typedef为C语言的关键字,作用是为一种数据类型定义一个新名字.这里的数据类型包括内部数据类型(int,char等)和自定义的数据类型(struct等).在编程中使用t ...

  2. [C++再学习系列] 函数模板和类模板

    函数模板和类模板 C++ 提供类模板和函数模板.函数模板允许重载 ,而类模板不允许重载(类无重载概念).类模板可以进行全特化和偏特化,而函数模板仅能够全特化 .因此,写一个看似函数模板偏特化的函数模板 ...

  3. C++ 函数模板和排序的函数模板——学习笔记

    我们在使用重载函数时,只是使用了函数名,而函数体还是得分别定义,在C++中函数模板为我们很好的解决了这个问题. 1.函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函 ...

  4. 函数重载和 函数模板

    一.函数重载(overload) #include <iostream> using namespace std;//计算两个参数a,b的乘积的函数 int product(int a,i ...

  5. C++_static,类模板、函数模板、namespace

    C++_static,类模板.函数模板.namespace 1.static 2.类模板 3.函数模板 4.namespace 5.深入,更多细节 参考:侯捷<C++面向对象高级编程>

  6. 判断exception类型_C++核心准则T.44:使用函数模板推断类模板参数类型(如果可能)...

    T.44: Use function templates to deduce class template argument types (where feasible) T.44:使用函数模板推断类 ...

  7. 第四章函数作业题,函数模板

    什么是函数模板? 就是不写具体的数据类型,而用一个虚拟类型来代表,这样可以提高效率. #include <iostream> using namespace std;template< ...

  8. C++走向远洋——61(项目一、排序函数模板)

    */* Copyright (c) 2016,烟台大学计算机与控制工程学院* All rights reserved.* 文件名:text.cpp* 作者:常轩* 微信公众号:Worldhello* ...

  9. [转]C++函数模板与模板函数

    1.函数模板的声明和模板函数的生成 1.1函数模板的声明 函数模板可以用来创建一个通用的函数,以支持多种不同的形参,避免重载函数的函数体重复设计.它的最大特点是把函数使用的数据类型作为参数. 函数模板 ...

最新文章

  1. Iar环境c语言调用汇编函数,如何在IAR EWARM中通过内联汇编程序在另一个模块中调用C函数?...
  2. Ubuntu 12.04 下安装 VirtualBox 及虚拟机winxp的安装
  3. Linux学习--第十三天--日志、系统运行级别、grub加密
  4. Codeforces 264B Good Sequences ★ (分解素因子+DP)
  5. 斐波那契数与二分法的递归与非递归算法及其复杂度分析
  6. Android之实现首尾带圆角的多颜色水平条
  7. android获取应用安装通知消息,如何在Android 11 上获取已安装应用列表
  8. OSChina 周日乱弹 ——已经打码请放心观看
  9. Computer Science Theory for the Information Age-4: 一些机器学习算法的简介
  10. poj 3368 Frequent values rmq
  11. Spring整合MyBatis之SqlSessionFactory对象的产生
  12. ensp动态路由ospf基础配置
  13. zigbee学习之zigbee应用框架
  14. 来自《星际迷航》的灵感启发
  15. 数据库设计(1)_概念结构设计
  16. 本周白银市场再刮超级旋风
  17. OIM实现OIM用户修改、OIM用户Disable流程审批
  18. vue.js毕业设计,基于vue.js前后端分离在线教育视频点播小程序系统设计与实现
  19. 昆山苏南交易批发市场_库存管理系统项目总结
  20. 宁波三中机器人_宁波三中三个男生做了个机器人 获奥林匹克中国总决赛冠军...

热门文章

  1. 自动化立体库能力分析——堆垛机(单深单货位Case1,双循环)
  2. 04 CSS样式案例
  3. linux定时每隔多少天,Linux中Cron任务间隔执行:每隔几分钟/几小时/几天
  4. 思科 计算机网络 第6章测试考试 答案
  5. 嵌入式系统设计与开发期末考试复习
  6. 最贴心的营销 微信营销,微酷为你的营销保驾护航
  7. 程序员都是吃青春饭,40岁以后怎么办?转行大数据是不错的选择
  8. 网约车和社交融合靠不靠谱?
  9. 周易六十四卦——明夷卦
  10. Mybatis 实现Mysql批量插入数据,判断数据是否存在