解题思路:小模拟,认真考虑每种情况
#include<iostream>
#include<cstdio>
#include<cstring>
using namespace std;
const int N=105;
int n;
int a[N];
int main(){
scanf("%d",&n);
for(int i=0;i<=n;i++)scanf("%d",&a[i]);
int i=0;
int num=0;
while(i<=n){
if(a[i]!=0&&a[i]!=1&&a[i]!=-1){
if(i!=0&&num){
if(a[i]>0) printf("+");
}
printf("%d",a[i]);
if(n-i!=0){
if(n-i==1){
printf("x");
}
else{
printf("x^%d",n-i);
}
}
num++;
}
else{
if(a[i]==1||a[i]==-1){
if(i!=0&&num&&a[i]>0){
printf("+");
}
if(a[i]<0&&n-i!=0){
printf("-");
}
if(n-i!=0){
if(n-i==1){
printf("x");
}
else{
printf("x^%d",n-i);
}
}
else{
printf("%d",a[i]);
}
num++;
}
}
i++;
}
if(num==0)
printf("0");
return 0;
}
本文介绍了一种用于打印多项式表达式的算法实现,通过小模拟的方法,细致处理了各种可能的情况,确保输出的多项式格式正确且易于阅读。算法使用C++语言编写,涵盖了正数、负数、系数为1或-1的特殊处理,以及不同指数的展示方式。
1570

被折叠的 条评论
为什么被折叠?



