BJFU-OJ 程序设计 C++实验题
作者:互联网
BJFU-OJ 程序设计 C++实验题
SortFunctionTemplate
描述
用函数模板的方式实现对不同数据类型的数组中的数据进行输入、从小到大排序和输出。
使用如下主函数测试你的模板
int main()
{
const int LEN = 5;
int type;
while (cin >> type)
{
switch (type)
{
case 0: {
int a1[LEN];
Input(a1, LEN); Sort(a1, LEN); Output(a1, LEN); break;
}
case 1: {
char a2[LEN];
Input(a2, LEN); Sort(a2, LEN); Output(a2, LEN); break;
}
case 2: {
double a3[LEN];
Input(a3, LEN); Sort(a3, LEN); Output(a3, LEN); break;
}
}
}
return 0;
}
输入
输入包含多组测试数据。每组数据为两行,第一行为一个整数type,表示数据类型(0、1、2分别表示int、char、double)。第二行为5个数组元素。
输出
对于每一组测试数据,将其排序后在一行内输出,相邻元素逗号空格分离,最后为换行。
输入样例 1
0
3 6 1 4 5
1
A B C B A
输出样例 1
1, 3, 4, 5, 6
A, A, B, B, C
//本题只提交Input,Sort, Output函数代码,否则编译出错(其余部分系统已包含)
template<typename T>
void Input(T m[] ,int n)
{
for (int i = 0; i <5; i++)
{
std::cin >> m[i];
}
}
template<typename T>
void Sort(T m2[], int a)
{
for (int i = 1; i <=4; i++)
{
for(int j=1;j<=5-i;j++)
{
if (m2[j-1] > m2[j])
{
T temp = m2[j-1];
m2[j-1] = m2[j];
m2[j] = temp;
}
}
}
}
template <typename T>
void Output(T m3[],int a)
{
std::cout << m3[0]<<", "<<m3[1]<<", "<<m3[2]<<", "<<m3[3]<<", "<<m3[4]<<std::endl;
}
标签:Sort,OJ,int,BJFU,LEN,Output,C++,m2,Input 来源: https://blog.csdn.net/qq_51718380/article/details/110730836