View Code of Problem 11

#include<stdio.h>

typedef struct
{
    int coef;       //系数
    char alp;       //字母
    int expn;       //指数
}term;

void qianyi(term a[], int j, int n)
{
    int i;

    for (i = j; i < n-1; i++)
        a[i] = a[i + 1];
}

int main()
{
    term a[100];
    int t,i,j,m,n;
    char c;

    m = 1;

    while (m)
    {
        scanf("%d",&t);
        if (t == 0)
            break;
        printf("Case #%d:\n", m++);

        while(t--)
        {
            n = 0;
            while (1)           //输入多项式
            {
                scanf("%d %c %d", &a[n].coef, &a[n].alp, &a[n].expn);
                n++;
                c = getchar();
                if (c == '\n')
                    break;
            }

            for (i = 0; i < n; i++)
            {
                for (j = i + 1; j < n; j++)         //进行合并
                    if (a[i].alp == a[j].alp)
                    {
                        a[i].coef += a[j].coef;
                        qianyi(a, j, n);
                        n--;
                        i--;
                        break;
                    }
            }

            for (i = 0; i < n; i++)     //求导
            {
                if (a[i].expn != 0)
                {
                    a[i].coef *= a[i].expn;
                    a[i].expn--;
                }
            }
            for (i = 0; i < n; i++)
            {
                if (i != n - 1)
                {
                    if (a[i].expn == 0)
                        printf("%d", a[i].coef);
                    else
                        printf("%d * %c ^ %d", a[i].coef, a[i].alp, a[i].expn);
                    printf(" + ");
                }
                else
                {
                    if (a[i].expn == 0)
                        printf("%d", a[i].coef);
                    else
                        printf("%d * %c ^ %d", a[i].coef, a[i].alp, a[i].expn);
                }
            }
        printf("\n");

        }
    }


    return 0;
}

Double click to view unformatted code.


Back to problem 11