知道哪里错了,谢谢各位大佬!!
by zhangyuzhe @ 2018-06-17 12:59:53
```cpp
void f(int y,int i){//y是系数,i是第几个
if(y==0) return;
else if(i==1&&y!=1){
if(y>1) cout<<'+'<<y<<'x';
if(y<0) cout<<y<<'x';
}
else if(y==1){
if(i==n) cout<<"x^"<<i;
if(i==1) cout<<"+x";
if(i!=n&&i!=1) cout<<"+x^"<<i;
}
else if(y>1){
if(i==n) cout<<y<<"x^"<<i;
if(i!=n) cout<<'+'<<y<<"x^"<<i;
}
else if(y==-1) cout<<'-'<<"x^"<<i;
else if(y<-1) cout<<y<<"x^"<<i;
}
```
by ComeOver· @ 2018-07-06 10:24:11
@[2017BeiJiang](/space/show?uid=105222)
by ComeOver· @ 2018-07-06 10:24:23
这是输出判断,不用写这么长
```cpp
for(int i=1;i<=n+1;i++)
{
if(a[i]==0) continue;
if(i==1)
{
if(n-i+1==1)
{
if(a[i]!=1&&a[i]!=-1)
{
cout<<a[i]<<"x";
continue;
}
else {
if(a[i]>0)cout<<"x";
else cout<<"-x";
continue;
}
}
if(a[i]!=-1&&a[i]!=1) cout<<a[i]<<"x^"<<n-i+1;
else
{
if(a[i]==1) cout<<"x^"<<n-i+1;
if(a[i]==-1) cout<<"-x^"<<n-i+1;
}
}
else
{
if(n-i+1==1)
{
if(a[i]<0) cout<<a[i]<<"x";
else cout<<"+"<<a[i]<<"x";
continue;
}
if(n-i+1==0)
{
if(a[i]<0) cout<<a[i];
else cout<<"+"<<a[i];
return 0;
}
if(a[i]>0)
{
if(a[i]!=1) cout<<"+"<<a[i]<<"x^"<<n-i+1;
else cout<<"+x^"<<n-i+1;
}
else
{
if(a[i]!=-1) cout<<a[i]<<"x^"<<n-i+1;
else cout<<"-x^"<<n-i+1;
}
}
}
```
这是您的做法
by ComeOver· @ 2018-07-06 10:25:33
我也是第三个过不去。。。楼主教教啊
by BillPan @ 2018-10-20 13:25:27