C++ 数字转为字符串to_string以及注意 +-、系数为1,指数为1的处理

#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main() {
    int n;
    cin >> n;
    string a="";
    for (int i=n; i>=0; i--) {
        int ax;
        cin >> ax;
        if (ax==0) continue;
        if (a.empty()) {if (ax<0) a+='-';}
        else a += (ax>0)?"+":"-";
        ax = abs(ax);
        if (ax==1&&i==0 || ax>1) {
            a+=to_string(ax);
        }
        if (i>0) {
            a += "x";
            if (i>1) a += "^"+to_string(i);
        }    
    }
    cout << a;
}
// 64 位输出请用 printf("%lld")