1010 一元多项式求导 (25 分)

Posted yangbocsu

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了1010 一元多项式求导 (25 分)相关的知识,希望对你有一定的参考价值。

 

1010 一元多项式求导 (25 分)


设计函数求一元多项式的导数。(注:x​n​​(n为整数)的一阶导数为nx​n−1​​。)

输入格式:

以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。

输出格式:

以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0

输入样例:

3 4 -5 2 6 1 -2 0

输出样例:

12 3 -10 1 6 0
#include<stdio.h>
int main()
{
	/*
	输出格式:
	以与输入相同的格式输出导数多项式非零项的系数和指数。
	数字间以空格分隔,但结尾不能有多余空格。
	
	注意“零多项式”的指数和系数都是 0,但是表示为 0 0。
	
	*/
	int array[100],i,j;
	char ch;
	do
		{
			scanf("%d",&array[i++]);
			ch=getchar();
		}
	while(ch!='\\n');//数据输入没有问题,共输入i个数据 
	j=i;
	
	for(i=0;i<j;i+=2)
		{
			if((array[i] == 0) && (array[i+1] == 0))
				{
					printf("0 0");
					if((i+1)!=(j-1)) printf(" ");
				}
			
			else if((array[i] == 0) && (array[i+1] != 0))
				{
					printf("0");
					if((i+1)!=(j-1)) printf(" ");
				}
			
			else if((array[i] != 0) && (array[i+1] == 0))
				{
					
					printf("0");
					if((i+1)!=(j-1)) printf(" ");
				}
			else
				{
					printf("%d %d",array[i]*array[i+1],array[i+1]-1);
					if((i+1)!=(j-1)) printf(" ");
				}
		}

    return 0;
}

 

以上是关于1010 一元多项式求导 (25 分)的主要内容,如果未能解决你的问题,请参考以下文章

PTA 乙级 1010 一元多项式求导 (25分)

1010 一元多项式求导 (25分)

1010 一元多项式求导 (25 分)

1010 一元多项式求导 (25 分)

PATB1010 一元多项式求导(25 分)

PAT乙级 1010 一元多项式求导 (25 分)