PAT:1010. 一元多项式求导 (25) 全错
#include<stdio.h>
#include<stdlib.h>
#include<algorithm>
using namespace std;
int main()
{
int arr[1111];
fill(arr,arr+1111,0);
int n=0,tmp;
while(scanf("%d",&tmp)!=EOF) //存储系数和指数,下标从0开始偶数为系数,奇数为指数
arr[n++]=tmp;
for(int i=0 ; i<n ; i+=2)
{
if(arr[i+1]==0) //指数为0,导数就为0,无需计算
arr[i]=0;
else
{
arr[i]*=arr[i+1]; //求导
--arr[i+1];
}
}
for(int i=0 ; i<n ; i+=2)
{
if(arr[i+1]==0) //x的指数为0的时候只输出系数,而且系数为0的时候输出本身就是0,不为0的时候就输出系数,整合在一个式子中
printf("%d",arr[i]);
else
printf("%d %d",arr[i],arr[i+1]); //指数不为0的时候,输出系数和指数
if(i!=n-1) //判断是否插入空格
printf(" ");
}
printf("\n");
system("pause");
return 0;
}