一元多项式求导

设计函数求一元多项式的导数。

输入格式:

以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

#include 
typedef struct Type
{
        int num, index, der;
        struct Type *next;
}Type;
int main()
{
    Type *L, *rearptr, *curptr;
    int nm, ide;
    L = rearptr = (Type *)malloc(sizeof(Type));
    while(scanf("%d %d", &nm, &ide) != EOF)
    {
        curptr = (Type *)malloc(sizeof(Type));
        curptr->num = nm, curptr->index = ide;
        curptr->der = nm * ide;
        rearptr->next = curptr;
        rearptr = curptr;
    }
    rearptr->next = NULL;
    Type *p = L->next;
    int dex = 0;
    while(p)
    {
        if(p->index - 1 >= 0)
        {
            if(dex)
                printf(" ");
            printf("%d %d", p->der, p->index-1);
            dex++;
        }
        p = p->next;
    }
    if(L->next == NULL || L->next->index == 0)
        printf("0 0");
}


你可能感兴趣的:(数据结构-PTA-课程设计)