当前位置: 代码迷 >> 综合 >> PAT 1010 一元多项式求导 (25分)
  详细解决方案

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

热度:50   发布时间:2023-12-12 11:04:28.0

设计函数求一元多项式的导数。(注: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 <iostream>
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;}elsewhile(num[i].n>0){
    if(flag == 1) cout<<" ";cout<<num[i].x * num[i].n<<" "<<num[i].n-1;flag = 1;i++;}return 0;
}