极品飞车19怎么买:利用C++如何编程?

来源:百度文库 编辑:查人人中国名人网 时间:2024/04/29 08:30:29
编写一个函数模板,对不同类型的数组求平均值。在main函数中分别求一个整型数组和一个单精度浮点型数组的平均值。

#include "iostream.h"

template <class Type> double average(Type a[], int n)
{
Type s=a[0];
for(int i=1;i<n;i++)
s+=a[i];
return double(s)/n;
}

void main()
{
int a[5]={1,3,5,7,9};
float b[4]={2.0,3.0,4.0,5.0};
cout << average(a,5) << endl;
cout << average(b,4) << endl;
}

#include <stdio.h>
template <class T>
//只考虑是数字类型,不考虑类的情况,否则比较复杂.
T average(T* pT, int nLen)
{
if (pT == 0 || nLen <= 0)//error args
{
return 0;
}
T sum = pT[0];
for (int i = 0; i < nLen; i++)
{
sum += *(pT + i);
}
return sum / nLen;
}

int main()
{
int a[] = {1, 3, 6, 7};
int nResult = average(a, 4/*sizeof(a) / sizeof(int)*/);
printf("The average of a is %d\n", nResult);
float b[] = {1.0f, 4.5f, 3.7f};
float fResult = average(b, 3/*sizeof(b) / sizeof(float)*/);
printf("The average of b is %f\n", fResult);
}