1 题目要求
设计函数求一元多项式的导数。
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。
2 样例
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
3 分析
- (1)来一对元素处理并输出一对,(不受处理元素对数限制)
- (2)输入按照指数降序排列。在输入指数为0时,停止继续输入。
- (3)输入中只有一项且指数为0的,输出0 0
- (4) 输出空格的问题 数字空格数字空格数字空格数字
除了第一组为数字空格数字外,剩余组皆为空格数字空格数字 - (5) 使用flag 同时控制4和3,
- (6)系数为0,但指数不为0的项与普通项作同等处理
- (7)普通项 (ax^b)’=(a*b)x ^(b-1)
4 代码
#include <stdio.h>
int derivative()
{
int coef=0,pow=0;
int flag=0;
while(scanf("%d %d",&coef,&pow) != -1)
{
if(pow != 0)
{
if(flag == 1 )
printf(" ");
printf("%d %d",coef*pow,pow-1);
flag=1;
}
if(flag ==0)
{//指数为0
printf("0 0");
}
}
}
int main()
{
// diff();
derivative();
return 0;
}