设计函数求一元多项式的导数。(注: <nobr> xn </nobr>(n为整数)的一阶导数为 <nobr> n∗xn−1 </nobr>。)
输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。
输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是0,但是表示为“0 0”。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0
程序代码:
#include<stdio.h>
#define MAX 100
int main()
{
int num[MAX];
int i = 0;
char c='a';
while(c!='\n')
{
scanf("%d",&num[i]);
i++;
c=getchar();
}
int n=i-2;
/* while(n) { if(num[n]!=0) break; else n-=2; } if(n==0) { printf("0 0"); return 0; } */
for(i=0;i<=n;i+=2)
{
num[i]=num[i]*num[i+1];
num[i+1]=num[i+1]-1;
if(num[i]==0)
num[i+1]=0;
}
// int n=i-2;
while(n>=0)
{
if(num[n]!=0)
break;
else
n-=2;
}
if(n<0)
{
printf("0 0");
return 0;
}
for(i=0;i<=n;i+=2)
{
if(num[i]!=0)
{
if(i<n)
{
printf("%d ",num[i]);
printf("%d ",num[i+1]);
}
else
{
printf("%d ",num[i]);
printf("%d",num[i+1]);
}
}
}
return 0;
}