秦九韶 求多项式方程的值
2009-11-10 20:28
134 查看
#include <iostream> using namespace std; double polynomial(int rank, double* coefficient, double x) { int i=0; double sum=0.0; for (i=0;i<rank;i++) { sum =sum*x + coefficient[i]; } return sum; } void calPolynomial() { double sum =0; int i=0; int rank=0; double x=0.0; //-------开始初始化多项式中的阶数,系数--------------- cout<<"请输入你要求的多项式阶数 :"<<endl; cin>>rank; cout<<"您需要输入"<<rank<<"阶多项式方程的系数,按降幂排列"<<endl; double *coefficinet = new double[rank];//------用于存储系数 for(i=0;i<rank;i++)//---------这个数组用于循环输入系数 cin>>coefficinet[i]; cout<<"请输入未知数的值 :"<<endl; cin>>x; cout<<endl; //-----------------开始计算多项式--------------------- sum =polynomial(rank,coefficinet,x); cout<<"sum = "<<sum<<endl; } void main() { //------定义数据---------- while(1) { int i=0; cout<<"如果您想继续计算请输入 :1 ,否则输入其他 :"<<endl; cin>>i; switch (i) { case 0: exit(1); break; case 1://------------计算多项式方程--------------------------------- calPolynomial(); break; default ://======================initialization of 'coefficinet' is skipped by 'default' label exit(1); break; } } }
原先的错误程序,以供借鉴:
/************************************************************************/ /* 总结: 不要在switch()case 中定义变量,否则老是出错: initialization of 'x' is skipped by 'default' label */ /************************************************************************/ #include <iostream> using namespace std; double polynomial(int rank, double* coefficient, double x) { int i=0; double sum=0.0; for (i=0;i<rank;i++) { sum =sum*x + coefficient[i]; } return sum; } void main() { //------定义数据---------- while(1) { int i=0; cout<<"如果您想继续计算请输入 :1 ,否则输入其他 :"<<endl; cin>>i; switch (i) { case 0: exit(1); break; case 1://------------计算多项式方程--------------------------------- double sum =0;//==========nitialization of 'coefficinet' is skipped by 'default' label int rank=0; //==========initialization of 'rank' is skipped by 'default' label double x=0.0;//======== initialization of 'x' is skipped by 'default' label //-------开始初始化多项式中的阶数,系数--------------- cout<<"请输入你要求的多项式阶数 :"<<endl; cin>>rank; cout<<"您需要输入"<<rank<<"阶多项式方程的系数,按降幂排列"<<endl; double *coefficinet = new double[rank];//------用于存储系数 for(i=0;i<rank;i++)//---------这个数组用于循环输入系数 cin>>coefficinet[i]; cout<<"请输入未知数的值 :"<<endl; cin>>x; cout<<endl; //-----------------开始计算多项式--------------------- sum =polynomial(rank,coefficinet,x); cout<<"sum = "<<sum<<endl; break; default ://======================initialization of 'coefficinet' is skipped by 'default' label exit(1); break; } } }
相关文章推荐
- 机器学习之——多项式回归和正规方程
- 多项式方程实根
- 分解 多项式扩展 同幂合并 求方程
- 机器学习02线性回归、多项式回归、正规方程
- 【AekdyCoin】求多项式方程的一种解法
- 计算多项式用直接算和秦九韶公式
- Graeffe法求解多项式方程单实根
- 机器学习之——多项式回归和正规方程
- Matlab练习——多项式和一元方程求解
- 多项式计算的Horner法则(秦九韶法则)
- 一元多项式方程求导的方法
- 二分法,matlab中利用二分法求解一个多项式方程的近似值。
- OpenCV2.2求解多项式方程的根
- NOIP2014 解方程 解题报告(取模运算+秦九韶定理)
- 【NOIP 2014】解方程 hash+秦九韶
- 二分法,matlab中利用二分法求解一个多项式方程的近似值。
- 多项式方程求根
- [秦九韶][强枚]NOIP2014day2 解方程
- 斯坦福大学机器学习笔记——特征和多项式回归以及正规方程
- matlab---方程求解