1010 一元多项式求导 (25分)
设计函数求一元多项式的导数。(注:xn(n为整数)的一阶导数为nxn−1。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
/*
* 题解:将输入的数字(eg:m,n)每两个为一组,由于以指数递降方式输入,则需判断该式
* 是否为零多项式,若是输出0 0,否则输出m*n n-1,且碰见0就不用输出了
* 思路:1、将输入的数字保存在数组中。初始化数组并且当遇到换行符则停止。
* 2、将输入的数字按照上述规则进行输出
*/
#include <stdio.h>
int main(){
int arr[100];
char a;
int i;
for (i = 0; i<100 ;i ++) {
arr[i] = 1001;
}
for (i = 0;a != '\n' ; i++) {
scanf("%d%c", &arr[i], &a);
}
i=0;
do {
if (arr[i] != 0 && arr[i+1] != 0){
if (i !=0)
printf(" ");
printf("%d %d", arr[i]*arr[i+1], arr[i+1]-1);
} else if (i == 0){
printf("0 0");
}
i += 2;
}while (arr[i]!=1001);
}