PAT_B_1010 一元多项式求导

题目描述: 函数

设计函数求一元多项式的导数。
输入格式:
以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。
输出格式:
以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,可是表示为 0
0。
输入样例:
3 4 -5 2 6 1 -2 0
输出样例:
12 3 -10 1 6 0

本人AC代码: spa

//  对多项式求导数

# include <stdio.h>

int main(void)
{
	//  记录系数以及多项式的次数
	int A[1000]={0}; // 记录系数
	int B[1000]={0}; // 记录多项式的次数
	int i, flag=0; 
	int n;
	//  输入系数以及次数
	for (i=0; flag==0; i++) 
	{
		scanf("%d",&A[i]);
		scanf("%d",&B[i]);
		if (getchar() == 10)
			flag=1;
	}
	n = (i--);
	//  输出已输入的多项式
//	for (i=0; i<n; i++) 
//	{
//		printf("%d %d \n",A[i],B[i]); 
//	}
	//  依次对每一项进行降次求导 
	for (i=0; i<n; i++)
	{
		A[i] = B[i] * A[i];
		
		if (0 < B[i])
		{
			B[i]--;
		}
		else
		{
			n--;
			break;
		}
	}
		
	for (i=0; i<n-1; i++) 
	{
		printf("%d %d ",A[i],B[i]); 
	}
	printf("%d %d",A[n-1],B[n-1]);
	
	
	return 0;
 } 
相关文章
相关标签/搜索