2019/2/14多项式输出

输入
共有2 行
第一行 1 个整数,n,表示一元多项式的次数。
第二行有 n+1 个整数,其中第i 个整数表示第n-i+1 次项的系数,每两个整数之间用空格隔开。

输出
共1 行,按题目所述格式输出多项式。

样例输入
5
100 -1 1 -3 0 10
样例输出
100x5-x4+x3-3x2+10

#include <stdio.h>
int main(){
	int a;
	scanf("%d",&a);
	int sum[a+1];
	for(int i=0;i<a+1;i++)
	{
		 scanf("%d",&sum[i]);
	}




	if(sum[0]==1){
		printf("x^%d",a);
	}else if(sum[0]==-1){
		printf("-x^%d",a);
	}else{
	printf("%dx^%d",sum[0],a);
	}



	
	for(int i=1;i<a-1;i++){
		if(sum[i]>0){
			if(sum[i]==1){
				printf("+x^%d",a-i);
			}else{
			printf("+%dx^%d",sum[i],a-i);
		}
		
		}else if(sum[i]<0){
			if(sum[i]==-1){
				printf("-x^%d",a-i);
			}else{
			printf("%dx^%d",sum[i],a-i);
		}
		}
	}




	
	if(sum[a-1]==-1){
		printf("x",sum[a-1]);
	}else if(sum[a-1]==1){
		printf("+x",sum[a-1]);
	}else if(sum[a-1]>0){
		printf("+%dx",sum[a-1]);
	}else if(sum[a-1]<0){
		printf("%dx",sum[a-1]);
	}


	
	if(sum[a]>0){
		printf("+%d",sum[a]);
	}else if(sum[a]<0){
		printf("%d",sum[a]);
	}
	return 0; 
} 

posted @ 2019-02-14 20:40  Locker伍六七  阅读(36)  评论(0编辑  收藏  举报