使用C++编写程序
题目描述
给你n个整数,求他们中所有奇数的乘积。
输入
第一个数为n,表示本组数据一共有n个,接着是n个整数,你可以假设每组数据必定至少存在一个奇数。
输出
输出n个数中的所有奇数的乘积,占一行。
样例输入 Copy
5
2 5 4 6 7
样例输出 Copy
35
程序代码如下
#include<iostream>
#include<vector> //顺序容器vector的头文件
#define ElemType_I int
using namespace std;
template<class ElemType>
class OddProduct
{
public:
OddProduct(ElemType Data[], ElemType_I N);
void GetResult();
private:
ElemType_I ElementNumber;
ElemType Product = 1; //累乘器
//ElemType *Element=new ElemType[ElementNumber];
vector<ElemType> Element;
};
template<class ElemType>
inline OddProduct<ElemType>::OddProduct(ElemType Data[], ElemType_I N)
{
ElementNumber = N;
for (int i = 0; i < ElementNumber; i++)
//Element[i] = Data[i];
Element.push_back(Data[i]);
}
template<class ElemType>
inline void OddProduct<ElemType>::GetResult()
{
for (int i = 0; i < ElementNumber; i++)
if (Element[i] % 2 != 0)
Product *= Element[i];
cout << Product;
}
int main()
{
ElemType_I N;
cin >> N;
ElemType_I *Data = new ElemType_I[N];
for (int i = 0; i < N; i++)
cin >> Data[i];
OddProduct<ElemType_I> GetProductResult(Data, N);
GetProductResult.GetResult();
return 0;
}