PAT 1010 一元多项式求导 (25分)

设计函数求一元多项式的导数。(注:x​^n(n为整数)的一阶导数为nx​ ^(n−1​)​

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

输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。

输入样例:
3 4 -5 2 6 1 -2 0

输出样例:
12 3 -10 1 6 0

#include 
using namespace std;
struct Complex //用一个结构体作为一个数
{
     
    int x;   //x为底
    int n;	//n为指数
};
int main()
{
     
    int flag =0;
    struct Complex num[100];
    int i=0;
    while(cin>>num[i].x>>num[i].n) //把数据存入结构体数组,当接收到0 次幂的结束接收
    {
     
        if(0 == num[i].n )  break;
        i++;
    }
    
    i = 0;

    if(num[i].n==0) //若没有该句,会出现部分通不过
    {
     
         cout<<0<<" "<<0;
    }
    else
        while(num[i].n>0)
        {
     
            if(flag == 1) cout<<" ";
                cout<<num[i].x * num[i].n<<" "<<num[i].n-1;
                flag = 1;
                i++;
        }
    return 0;
}

你可能感兴趣的:(PAT)