关于计算数学多项式的代码
2014-07-22 16:46
288 查看
#include <iostream> #include <cstdio> #include <string> #include <cstring> #include <cstdlib> #include <vector> using namespace std; int a[10000001],b[10000001],zhongjian[10000]; int main() { int i,j,jishu=2,n,m;//n为当前多项式的阶数,m为新的多项式的阶数,ij为计数变量,jishu为记下第几个多项式专用 printf("请输入第1个多项式的阶数:"); scanf("%d",&n); printf("请输入每一项的系数:"); for(i=n;i>=0;i--)//输入当前多项式的阶数 scanf("%d",&a[i]); printf("请输入第2个多项式的阶数:"); while(~scanf("%d",&m),m) { memset(zhongjian,0,sizeof(zhongjian)); jishu++;//新的多项式 printf("请输入每一项的系数:"); for(i=m;i>=0;i--)//输入新的多项式的阶数 scanf("%d",&b[i]); //开始整合运算 for(i=0;i<=n;i++) for(j=0;j<=m;j++) zhongjian[i+j]=zhongjian[i+j]+a[i]*b[j]; for(i=0;i<=m+n;i++)//把计算好的多项式放在a中 a[i]=zhongjian[i]; printf(" f(x)= "); for(i=m+n;i>=0;i--) { if(i==m+n) { if(a[i]!=1&&a[i]!=0) printf("%d x^%d ",a[i],i); else if(a[i]==1) printf("x^%d ",i); } else if(i>1&&a[i]>0&&i!=m+n) { if(a[i]!=1) printf("+ %d x^%d ",a[i],i); else printf("+ x^%d ",i); } else if(i>1&&a[i]<0&&i!=m+n) { if(a[i]!=1) printf("%d x^%d ",a[i],i); else printf("x^%d ",i); } else if(i==1&&a[i]>0) { if(a[i]!=1) printf("%+ d x ",a[i],i); else printf("+ x ",i); } else if(i==1&&a[i]<0) { if(a[i]!=1) printf("%d x ",a[i],i); else printf("x ",i); } else if(i==0&&a[i]>0) printf(" + %d ",a[0]); else if(i==0&&a[i]<0) printf("%d ",a[0]); } printf("\n\n请输入第%d个多项式的阶数:",jishu); } return 0; }
//该代码利用的就是模拟
相关文章推荐
- 关于计算Java程序运行时间 及Java代码--JUnit
- 关于数学计算
- 关于数学字符串公式的计算
- 关于经纬度计算的代码
- 关于校验和计算方面的C++代码,哪位大侠帮忙解读一下,小弟初学,不太懂!谢谢!
- 关于汉明码的数学原理与计算
- 数学计算-多项式求值算法(一维,二维)
- 关于数学分析的计算题II
- William Stallings 博士介绍 及 关于一些计算数学基础性的材料 -
- java中对文件的一些操作(删除,复制,计算大小..)和一些数学问题代码详解
- 信息安全数学基础课程-相关计算题代码
- 用c语言实现数学多项式的计算
- 【算法与数据结构】关于代码运行时间复杂度的计算方法
- 关于数学分析的计算题I(积分)
- 关于android清除缓存代码及计算大小
- Java计算数学表达式代码详解
- 一组关于日期计算的代码
- 关于矩阵计算的java 代码实现----笔记
- 能计算数学函数的代码
- 关于计算日期的代码