您的位置:首页 > 编程语言 > C语言/C++

Homework 1165 - C++作业第十章(主讲老师徐红云) Problem A: C++第十章习题1

2014-04-16 11:54 453 查看
使用函数模板实现对不同类型数组求平均值的功能,要求程序可以计算一组整型数或一组浮点数的平均值.

Input

输入为若干组数据,每组数据用3行表示,第1行为一个整数0或1,0代表即将输入的这组数据为整型数,1代表即将输入的这组数据为浮点数。第2行为一个整数n,代表第3行有n个数据。第3行为n个数据,其类型全为整型或全为浮点型。

Output

输出为若干组数据,每组数据用1行表示,为一组数据的平均值,若该组数据为整型数,则平均值取整(不必四舍五入),若该组数据为浮点数,则平均值四舍五入保留小数点后2位。

Sample Input

031 2 3131 2 4

Sample Output

22.33

#include<iostream>
#include<algorithm>
#include<iomanip>
using namespace std;
template<typename T>
T everage(T a[],int b)
{
int i;
T sum=0;
for(i=0;i<b;i++)
sum+=a[i];
sum=sum/b;
return sum;
}
int main()
{
int i,j,k,m,n;
while(cin>>k)
switch(k)
{
case 0:
{
cin>>m;
int a[1005];
for(i=0;i<m;i++)
cin>>a[i];
cout<<everage(a,m)<<endl;
break;
}
case 1:
{
cin>>m;
double a[1005];
for(i=0;i<m;i++)
cin>>a[i];
cout<<setiosflags(ios::fixed)<<setprecision(2)<<everage(a,m)<<endl;
break;
}
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: