實現一個多項式a+b*x+c*x^2+d*x^3+...,要求輸入該多項式的係數和x的值後打印出這個多項式的值。(實際上就是遞歸)。
n=0時:
num[0]
n=1時:
num[0]+num[1]*x;
n=2時:
num[0]+(num[1]+num[2]*x)*x;
#include <iostream>
using namespace std;
int temp,n,x;
int num[1000];
int fun(int m)
{
if(m==0)
{
temp=1;
return num[m]+fun(1);
}
else if(m==n)
{
temp=temp*x;
return num[m]*temp;
}
else
{
temp=temp*x;
return num[m]*temp+fun(m+1);
}
}
int main()
{
while(1)
{
cout<<"請輸入最高次項的次數:"<<endl;
cin>>n;
cout<<"請輸入各個項的係數:"<<endl;
for(int i=0;i<=n;++i)
cin>>num[i];
cout<<"請輸入x:"<<endl;
cin>>x;
if(n==0)
{
cout<<"結果:"<<num[0]<<endl;
break;
}
cout<<"結果:"<<fun(0)<<endl;
}
return 0;
}