原题链接:蓝桥杯算法提高VIP-多项式输出
解题思路:
直接顺序输出,注意多项式的格式问题。
注意事项:
特别注意的格式:
x的次数为1时,输出为x,不是x^1。
x的次数为0时,输出为系数。
第一项系数为正时,没有+号。
参考代码:
//1512: 多项式输出 
#include <stdio.h>
int main()
{
	int a[105], n, i;
	
	scanf("%d", &n);
	
	for( i = n; i >= 0; i-- )
	{
		scanf("%d", &a[i]);
	}
	
	for( i = n; i >= 0; i-- )
	{
		if( i == n )
		{
			if( a[i] == 0 )
				;
			else if( a[i] == 1 )
				printf("x^%d", i);
			else if ( a[i] == -1 )
				printf("-x^%d", i);
			else
				printf("%dx^%d", a[i], i);
		}
			
		else if( i == 0 )
		{
			if( a[i] > 0 )
				printf("+%d", a[i]);
			if( a[i] < 0 )
				printf("%d", a[i]);
		}
		
		else if( i == 1 )
		{
			if( a[i] != 0 )
			{
				if( a[i] > 0 )
				{
					if ( a[i] == 1 )
						printf("+x");
					else
						printf("+%dx", a[i]);
				}
				else
				{
					if ( a[i] == -1 )
						printf("-x");
					else
						printf("%dx", a[i]);
				}
					
			}
		}
		
		else
		{
			if( a[i] != 0 )
			{
				if( a[i] > 0 )
				{
					if ( a[i] == 1 )
						printf("+x^%d", i);
					else
						printf("+%dx^%d", a[i], i);
				}
				else
				{
					if ( a[i] == -1 )
						printf("-x^%d", i);
					else
						printf("%dx^%d", a[i], i);
				}
					
			}
		}
				
	}
}0.0分
0 人评分
C语言网提供由在职研发工程师或ACM蓝桥杯竞赛优秀选手录制的视频教程,并配有习题和答疑,点击了解:
一点编程也不会写的:零基础C语言学练课程
解决困扰你多年的C语言疑难杂症特性的C语言进阶课程
从零到写出一个爬虫的Python编程课程
只会语法写不出代码?手把手带你写100个编程真题的编程百练课程
信息学奥赛或C++选手的 必学C++课程
蓝桥杯ACM、信息学奥赛的必学课程:算法竞赛课入门课程
手把手讲解近五年真题的蓝桥杯辅导课程
发表评论 取消回复