牛客:多项式输出

解题思路:先处理第一个系数,因为第一个系数前面的符号为+时,不用写,然后处理最后一个数,因为它是一个常数,至于中间的数都统一处理,先判断他的正负输出它的符号,然后判断他们的绝对值是否为1,如果为1就不输出系数,如果不唯一就输出绝对值,然后判断是不是倒数第二项,因为倒数第二项不用输出指数部分。
注意:要用一个标志位来记录,是否全为0,如果全为0就直接输出0;
cpp 复制代码
#include<bits/stdc++.h>
using namespace std;
int n;
int arr[101];
int main(){
    cin>>n;
    for(int i=n;i>=0;i--){
        cin>>arr[i];
    }
    int num=0;
    for(int i=n;i>=0;i--){
        int m=arr[i];
        if(m==0){
            num++;
            continue;
        }
        
        if(i==n){
          if(m>0){}
          else cout<<"-";
        }
        
        if(i!=n){
        if(m>0){
            cout<<"+";
        }else{
            cout<<"-";
        }
        }
        
         if(i==0){
            cout<<fabs(m);
             break;
        }
        
        
        if(m!=1&&m!=-1){
            cout<<fabs(m);
        }
        
        cout<<"x";
        
        if(i!=1){
            cout<<"^"<<i;
        }
    }
    
    if(num==n+1){
        cout<<0;
    }
    
    
    
    return 0;
}
相关推荐
重生之我是Java开发战士2 分钟前
【优选算法】前缀和:一二维前缀和,寻找数组的中心下标,除自身以外数组的乘积,和为K的子数组,和可被K整除的子数组,连续数组,矩阵区域和
线性代数·算法·矩阵
梵刹古音5 分钟前
【C语言】 循环结构
c语言·开发语言·算法
皮皮哎哟12 分钟前
冒泡排序与数组传递全解析 一维二维指针数组及二级指针应用指南
c语言·算法·冒泡排序·二维数组·指针数组·传参·二级指针
m0_5613596713 分钟前
C++代码冗余消除
开发语言·c++·算法
近津薪荼24 分钟前
优选算法——滑动窗口1(单调性)
c++·学习·算法
diediedei25 分钟前
嵌入式C++驱动开发
开发语言·c++·算法
燃于AC之乐31 分钟前
《算法实战笔记》第10期:六大算法实战——枚举、贪心、并查集、Kruskal、双指针、区间DP
算法·贪心算法·图论·双指针·区间dp·二进制枚举
diediedei35 分钟前
高性能计算通信库
开发语言·c++·算法
蒸蒸yyyyzwd35 分钟前
算法学习笔记
笔记·算法
练习时长一年44 分钟前
LeetCode热题100(颜色分类)
算法·leetcode·职场和发展