问题题目描述
【问题描述】利用函数模板,实现对n个数据的由小到大排序。此题要求分别使用5个整型、3个字符串、8个实型三种类型的数据进行测试。
【输入形式】输入占三行。第一行是5个整型;第2行是3个字符串;第3行是8个实型,彼此用空格间隔。
【输出形式】占3行,分别是由小到大排序的n个数,彼此用空格间隔。
【样例输入】5 4 3 2 1
Tuesday Today Tomorrow
1.2 5.6 3.5 6.7 7.8 1.0 9.3 2.4
【样例输出】1 2 3 4 5
Today Tomorrow Tuesday
1.0 1.2 2.4 3.5 5.6 6.7 7.8 9.3
问题相关代码
#include <iostream>
using namespace std;
template <typename T>
void min(int n,T*a)
{
int i,j;
T t;
for(i=0;i<n-1;i++)
{
for(j=i+1;j<n;j++)
{
if(*(a+i)>*(a+j))
{
t=*(a+i);
*(a+i)=*(a+j);
*(a+j)=t;
}
}
}
for(i=0;i<n;i++)
{
cout<<*(a+i)<<" ";
}
cout<<endl;
}
int main()
{
int i;
int x=5,y=3,z=8;
int a[5];
for(i=0;i<x;i++)
{
cin>>a[i];
}
min(x,a);
string b[3];
for(i=0;i<y;i++)
{
cin>>b[i];
}
min(y,b);
float c[8];
for(i=0;i<z;i++)
{
cin>>b[i];
}
min(z,c);
return 0;
}
运行结果及报错内容
希冀网提交显示 运行时错误