多项式除以多项式的问题

怎么一直错误啊 多项式除多项式还有什么情况啊 不就被除数大于等于除数的幂或小于其幂或幂等于0吗
这仍然是一道关于A/B的题,只不过A和B都换成了多项式。你需要计算两个多项式相除的商Q和余R,其中R的阶数必须小于B的阶数。

输入格式:
输入分两行,每行给出一个非零多项式,先给出A,再给出B。每行的格式如下:

N e[1] c[1] ... e[N] c[N]
其中N是该多项式非零项的个数,e[i]是第i个非零项的指数,c[i]是第i个非零项的系数。各项按照指数递减的顺序给出,保证所有指数是各不相同的非负整数,所有系数是非零整数,所有整数在整型范围内。

#include 
#include 
#include 
using namespace std;
void print(int exp[1000],float coef[1000],int n)
{
    int i = 0;
    for(;i"0 0 0.0\n");
            return;
        }
        else
        {
            if(abs(coef[i])  < 0.05)
            {
                n--;
                int t = 0;
                while(t <= n - i - 1)
                {
                    coef[i+t] = coef[i+t+1];
                    t++;
                }
            }
        }
    }
    if(abs(coef[0]) < 0.05)
    {
        printf("0 0 0.0\n");
        return;
    }
    printf("%d ",n);
    for(i = 0;i"%d %0.1f\n",exp[i],coef[i]);
            return ;
        }
        else
        {
            printf("%d %0.1f ",exp[i],coef[i]);
        }
    }
}
int main()
{
    int exp1[1000],exp2[1000],exp3[1000],exp21[1000];
    float coef1[1000],coef2[1000],coef3[1000],coef21[1000];
    int n1,n2,i=0;
    int k,k1;
    cin>>n1;
    k = k1 = n1;
    for(;i int exp;
        float coef;
        cin>>exp>>coef;
        exp1[i] = exp;
        coef1[i] = coef;
    }
    cin>>n2;
    for(i=0;i int exp;
        float coef;
        cin>>exp>>coef;
        exp2[i] = exp;
        coef2[i] = coef;
    }
    i=0;
    if(exp1[0] < exp2[0] && n1 != 0)
    {
        printf("0 0 0.0\n");
        print(exp1,coef1,n1);
        return 0;
    }
    else if(n1 == 0 || n2 == 0)
    {
        printf("0 0 0.0\n");
        printf("0 0 0.0");
        return 0;
    }
    while(exp1[0] >= exp2[0])
    {
        exp3[i] = exp1[0] - exp2[0];
        coef3[i] = coef1[0] / coef2[0];
        i++;
        for(int j=0;j int p1,p2;
        p1 = 0;
        p2 = 0;
        while(p2 < n2)
        {
            if(exp1[p1] == exp21[p2])
            {
                coef1[p1] = coef1[p1] - coef21[p2];
                if(coef1[p1] == 0)
                {
                    int temp1;
                    temp1 = p1;
                    n1--;
                    k = k1 = n1;
                    while(p1 <= n1 - 1)
                    {
                        exp1[p1] = exp1[p1+1];
                        coef1[p1] = coef1[p1+1];
                        p1++;
                    }
                    coef1[p1] = 0;
                    exp1[p1] = 0;
                    p1 = temp1;
                    p2++;
                }
                else
                {
                p1++;
                p2++;
                }
            }
            else if(exp21[p2] > exp1[p1])
            {
                k = k1;
                while(k > p1)
                {
                    exp1[k] = exp1[k-1];
                    coef1[k] = coef1[k-1];
                    k--;
                }
                exp1[p1] = exp21[p2];
                coef1[p1] = (-1) * coef21[p2];
                n1++;
                k = k1 = n1;
                p2++;
                p1++;
            }
            else if(exp1[p1] > exp21[p2])
            {
                p1++;
            }
            else if(p1 == n1 && p2 < n2)
            {
                while(p2 < n2)
                {
                    exp1[p1] = exp21[p2];
                    coef1[p1] = (-1) * coef21[p2];
                    p1++;
                    n1++;
                    k = k1 = n1;
                    p2++;
                }
                break;
            }
        }
    }
    print(exp3,coef3,i);
    print(exp1,coef1,n1);
}