60分求条
2026-08-10 15:40:28
发布于:广东
27阅读
0回复
0点赞
#include<bits/stdc++.h>
using namespace std;
int a[100],b[100];
int main(){
int n;
cin>>n;
if(n>0){
for(int i=n;i>=0;i--){
cin>>a[i];
}
}
else{
for(int i=n;i<=0;i++){
cin>>b[i];
}
}
if(n<=0)
{
if(b[n]>0) cout<<b[n]<<"x^"<<n;
else if(b[n]<0) cout<<b[n]<<"x^"<<n;
for(int i=-n-1;i>1;i--){
if(a[i]==1) cout<<a[n]<<"+x^"<<i;
else if(a[i]==-1) cout<<"-x^"<<i;
else if(b[i]>0) cout<<'+'<<b[i]<<"x^"<<i;
else if(b[i]<0) cout<<b[i]<<"x^"<<i;
}
if(b[1]<0) cout<<b[1];
else if(b[1]>0) cout<<'+'<<b[1];
if(b[0]<0) cout<<b[0];
else if(b[0]>0) cout<<'+'<<b[0];
}
else{
if(a[n]>0) cout<<a[n]<<"x^"<<n;
else if(a[n]<0) cout<<a[n]<<"x^"<<n;
for(int i=n-1;i>1;i--){
if(a[i]==1) cout<<"+x^"<<i;
else if(a[i]==-1) cout<<"-x^"<<i;
else if(a[i]>0) cout<<'+'<<a[i]<<"x^"<<i;
else if(a[i]<0) cout<<a[i]<<"x^"<<i;
}
if(a[1]<0) cout<<a[1]<<"x";
else if(a[1]>0) cout<<"+"<<a[1]<<"x";
if(a[0]<0) cout<<a[0];
else if(a[0]>0) cout<<'+'<<a[0];
}
return 0;
}
代码60分,过不了第二个样例,查来查去一直都查不出问题,太费眼了,求大佬帮助
全部评论 5
- 置顶
1周前 来自 广东
0 搞 的特殊是何意味,另外就是系数为 的情况没有考虑。
3天前 来自 上海
0先说问题,你的代码第19,20,33,34行逻辑有问题,没考虑对应元素为-1或者1 的情况,详情请看测试点2 输出的开头位置。
然后你的代码太繁琐冗长了,你写n小于0干啥?题目要求100%数据n>0,数学中不存在"负数个"数据这种概念,代码直接可以砍一半3天前 来自 云南
0给个题目链接
1周前 来自 广东
0这是哪题
1周前 来自 上海
0


















有帮助,赞一个