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;
 } 
相關文章
相關標籤/搜索