C++ 格式化我的输出公式
试图打印出一个多项式,即10x^0+1*x^1和9*x^0+1*x^1,但是多项式打印为 10x^0+1*x^1+9*x^0+1*x^1,这是我的for循环方程C++ 格式化我的输出公式,c++,arrays,C++,Arrays,试图打印出一个多项式,即10x^0+1*x^1和9*x^0+1*x^1,但是多项式打印为 10x^0+1*x^1+9*x^0+1*x^1,这是我的for循环方程 for(int i=0; i<=p->deg; i++) { if (p->coeffs[i]==0) break; //dont want to print out any 0 constants cout << p->coeffs[i] <<" *
for(int i=0; i<=p->deg; i++) {
if (p->coeffs[i]==0)
break; //dont want to print out any 0 constants
cout << p->coeffs[i] <<" * " << x << "^"<<i << " ";
if (p->coeffs[i]>0 && p->coeefs[i+1]!=0)
cout<< "+";
}
for(inti=0;ideg;i++){
如果(p->coefs[i]==0)
break;//不想打印出任何0常量
系数[i]使用:
而且,我认为下面的方法应该有效
for(inti=0;ideg;i++){//注意coefs[i]==0)
继续;//不想打印出任何0常量
cout coefs[i]@POW我使用了一个12 3和1-2-3的测试用例,除了第二个多项式它打印为1*x^0+-2*x^1-3x^2外,它打印得很好。我不确定额外的+是如何打印的,因为我的条件说明只有值>0才能打印加法symbol@POW这实际上最终影响了-3。,所以它说的是+-3而不是-3
if (p->coeffs[i]>0 && (i != p->deg) )
cout<< "+";
if (p->coeffs[i]==0)
continue; //dont want to print out any 0 constants
for(int i=0; i< p->deg; i++) { //Notice only < sign
if (p->coeffs[i]==0)
continue; //dont want to print out any 0 constants
cout << p->coeffs[i] <<" * " << x << "^"<<i << " ";
if ( p->coeffs[i+1] > 0 )
cout<< "+";
}