题目描述
定义函数模板sum()求多个数的和。在main()中调用sum()求多个整数和多个实数的和。
注意必须使用函数模板。
输入
有4行。第1行是整数的个数n(0<n<20),第2行是n个整数;第3是实数的个数m (0<m<20),第4行是m个实数。
输出
有2行。第1行n个整数的和,第2行为m个实数的和(保留2位小数)。
样例输入 Copy
4
6 7 10 8
3
5.26 7.556 9.258
样例输出 Copy
31
22.07
# include <iostream>
using namespace std;
# include <iomanip>
template <class T>
T sum(T a[], int n)
{
T s = 0;
for (int i = 0; i < n; i++)
{
s += a[i];
}
return s;
}
int main()
{
int n;
cin >> n;
int* p1 = new int[n];
for (int i = 0; i < n; i++)
{
cin >> p1[i];
}
cout << fixed << setprecision(2) << sum(p1, n) << endl;
cin >> n;
double* p2 = new double[n];
for (int i = 0; i < n; i++)
{
cin >> p2[i];
}
cout << fixed << setprecision(2) << sum(p2, n) << endl;
delete p1;
delete p2;
return 0;
}