一个多项式a+b*x+c*x^2+d*x^3+...,输入该多项式的系数和x的值后打印出这个多项式的值。

实现一个多项式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;

}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章