B1010. 一元多项式求导 (25)-PAT乙级真题

设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为n*xn-1。)

输入格式:

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

输出格式:

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

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0

分析

重点有2个:1、空格处理。2、零多项式处理。
我这里采用一个一维数组来保存求导结果。输出时先输出一个结果然后再遍历输出,可同时解决了零多项式问题和空格问题(这个同时处理纯属巧合,我甚至没关心零多项式。看了别人的立整形flag来处理空格和零多项式时,才发觉走运了)

#include
using namespace std;

int main() {
    int xiangshu,zhishu,res[4002]={0},n=0;
    while(cin>>xiangshu>>zhishu) {
        if(zhishu!=0) {
            res[n]=xiangshu*zhishu;
            res[n+1]=zhishu-1;
            n+=2;
        }
    }
    cout<

你可能感兴趣的:(B1010. 一元多项式求导 (25)-PAT乙级真题)