2-7 一元多项式求导 (20 分)
设计函数求一元多项式的导数。
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。
输入样例:
3 4 -5 2 6 1 -2 0
结尾无空行
输出样例:
12 3 -10 1 6 0
结尾无空行
2.思路分析
数组存储求导后的系数和指数,输出就好;两个需要注意的点是输入为常数多项式和零多项式的时候,需要 输出"0 0",还有结尾不能有多余空格
3.上代码
#include <stdio.h>
#include <stdlib.h>
#include <math.h>
int main()
{
int e,c,m=0,n=0;
int a[100];
int b[100];
while(1)
{
scanf("%d %d",&e,&c);
if((fabs(e)<=1000)&&(fabs(c)<=1000)&&c!=0)
{
a[m]=e*c;
b[m]=c-1;
m++;
}
if(getchar()=='\n') //输入数据结束标志,这点刚开始没想到
break;
else
continue;
}
if(m==0)//判断是否有零多项式;
{
printf("0 0");
}
for(n=0;n<m;n++)
{
if(n==0)
printf("%d %d",a[0],b[0]);
else
printf(" %d %d",a[n],b[n]);
}
return 0;
}