/////////////////////////////////////多项式解析//////////////////////////////////////
#include <stdio.h>
//char str[] = "X^4+X^3+7X^2-34X^1+X^0";
int fun(const char *str, int a[], int e[])
{
int i;
int index_a = 0;
int index_e = 0;
int tmp_a = 0;
int tmp_e = 0;
int negative_number = 1; // 系数的正负号
bool is_X_front = true; // 判断是系数还是指数,X前面的是系数,X后面是指数
for (i = 0; str[i] != '\0'; i++)
{
char c = str[i];
if (c == 'X')
{
if (tmp_a == 0)
{
tmp_a = 1;
}
a[index_a++] = negative_number * tmp_a;
}
else if (c == '^')
{
is_X_front = false;
}
else if (c == '+' || c == '-')
{
if (i != 0)
{
e[index_e++] = tmp_e;
}
is_X_front = true;
tmp_a = 0;
tmp_e = 0;
if (c == '+')
{
negative_number = 1;
}
else
{
negative_number = -1;
}
}
else if ('0' <= c && c <= '9')
{
if (is_X_front)
{
tmp_a = 10 * tmp_a + (c - '0');
}
else
{