C++关于函数模板

来源:百度知道 编辑:UC知道 时间:2024/07/02 14:55:35
利用模板设计一个将数组元素排序并输出的函数,并检验之
#include<iostream.h>
#define n 5
template <typename T>
T fun(T a[],int n)
{
T temp;
for(int i=0;i<n;i++)
cin>>a[i];
for(i=0;i<n;i++)
for(int j=i+1;j<=n;j++)
{
if(a[i]>a[j])
{
temp=a[i];
a[i]=a[j];
a[j]=temp;
}
}
for(i=0;i<n;i++)
cout<<a[i] ;
}
template<class T>
void display(T a[],int n)
{
cout<<"数组元素如下所示:\n";
for(int i=0;i<n;i++)
cout<<a[i]<<"\t";
cout<<endl;
}

void main()
{
int a[]={1,3,6,7,2,9};
float b[]={1.3,2.8,6.9,7.1,5.6};
display(a,sizeof(a)/sizeof(int));
cout<<"该数组的平均值为:"<<average(a,sizeof(a)/sizeof(int))<<endl;
display(b,sizeof(b)/sizeof(float));
cout<<"该数组的平均值为:"

#define n 5 //把n改为N.我也不知道为什么,调试了很多次,小写错误,大写没事.
float b[]={1.3,2.8,6.9,7.1,5.6}; //改为double,或在每个后面加上f,转为float.
其他没什么问题.你的average没有给我.没法出结果.

数组a[]括号里要是常量