程序员测试题:PAT 乙级 1010 一元多项式求导(C语言版本)
PAT题目链接
思路:
很简单,直接上代码就好,但是检测点不过,我觉得是不是题意有理解错误。
#include <stdio.h>
#include <string.h>
int main()
{
int arr[2500] = {0};//指数最大到1000,则数据最多2000个
int ii=0;
char ch;
while((scanf("%d",&arr[ii]))!=EOF)
{
if((ch=getchar())!=' ')
break;
ii++;
}
int i;
int dev[2500] = {0};
int zero[2500] = {0};//记录零多项式 ,各项系数都为0
memcpy(zero,arr,sizeof(arr));
for(i=0;i<ii;i++)
{
zero[i+1] = zero[i+1]||zero[i];
}
if(zero[i]==0)
{
printf("0 0");
return 0;
}
for(i=0;i<ii-2;i+=2)//倒数两位就不需要了
{
dev[i] = arr[i]*arr[i+1];
dev[i+1] = arr[i+1]-1;
}
for(i=0;i<=ii-2;i++)
{
printf("%d",dev[i]);
if(i!=ii-2)
printf(" ");
}
return 0;
}