设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为
0 0
。输入样例:
3 4 -5 2 6 1 -2 0
结尾无空行
输出样例:
12 3 -10 1 6 0
结尾无空行
#include<stdio.h>
typedef struct st{
int pre_item;
int pre_point;
int new_item;
int new_point;
}st;
st group[1001];
int main(){
int i = 0;
scanf("%d %d",&group[i].pre_item,&group[i].pre_point);
group[i].new_item = group[i].pre_item * group[i].pre_point;
group[i].new_point = group[i].pre_point - 1;
while(group[i].new_item != 0 && group[i].pre_point != 0){
if(i == 0)
printf("%d %d",group[i].new_item,group[i].new_point);
else
printf(" %d %d",group[i].new_item,group[i].new_point);
i ++;
scanf("%d %d",&group[i].pre_item,&group[i].pre_point);
group[i].new_item = group[i].pre_item * group[i].pre_point;
group[i].new_point = group[i].pre_point - 1;
}
if(i == 0){
printf("0 0");
}
return 0;
}