//看见输入中有总数,并列出总数中的每一个分量的题,都应该想到用数组
#include<iostream>
#include<cmath>
using namespace std;
class multi
{
public:
multi(int xx)
{
x=xx;
}
int calc(int m,int a[])
{
int sum=0;
for(int q=0;q<=m;q++)
{
sum+=a[q]*pow(x,q);
}
return sum;
}
private:
int a[11]; //存储最多11个系数
int x;
};
int main()
{
int i,a[11],m,x; //数组a存储每个系数
cin>>i; //i为测试用例数
while(i--)
{
cin>>m; //m为最高项次数
for(int p=0;p<=m;p++)
{
cin>>a[p]; //数组的下标与对应的x的幂数一样
}
cin>>x;
multi ob(x);
ob.calc(m,a[11]);
}
return 0;
}
以上代码中calc(m,a[11]);是不对的,因为数组作为参数,传递的是地址。
应改为:calc(m,a);