编程语言
首页 > 编程语言> > BJFU-OJ 程序设计 C++实验题

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