1010 一元多项式求导 (25分)
设计函数求一元多项式的导数。(注:x^n(n为整数)的一阶导数为n·x(n−1)。)
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
分析:
因为有了所谓的零多项式,所以我们先要输入一组通过零多项式的检测,再(c=getchar())!=’\n’来一个个输入依次处理结果。
代码:
#include <stdio.h>
#include <stdlib.h>
int main() {
int result[1001],n=0,c1,c2,i;
char c;
scanf("%d %d",&c1,&c2); //输入第一对
if((c1==0)||(c2==0)){
printf("0 0");
return 0;
}else{
result[n++]=c1*c2;
result[n++]=c2-1;
while((c=getchar())!='\n'){//用c来吸收回车表示输入结束
scanf("%d %d",&c1,&c2);
if(c2==0){
continue;
}else{
result[n++]=c1*c2;
result[n++]=c2-1;
}
}
}
for(i=0;i<n-1;i++){
printf("%d ",result[i]);
}
printf("%d",result[n-1]);
return 0;
}
一元多项式求导
本文介绍了一种求解一元多项式导数的方法,并提供了一个C语言实现的示例代码。该方法能够处理指数递降输入的多项式,输出其导数的系数和指数。
4489

被折叠的 条评论
为什么被折叠?



