题解 | #多项式输出#

多项式输出

https://ac.nowcoder.com/acm/problem/16622

#include<stdio.h>

int main() {

int n;

int a[110];

scanf("%d", &n);//多项式的最高次数

for (int i = 0; i <= n; i++)
{
	scanf("%d", &a[i]);
}//输入每次个项的常数

for (int i = 0; i <= n; i++) {


	if (a[i] == 0)continue;//系数为0
	if (i == 0)//首项
	{
		if (n != 0)//首项指数不为0,且首项指数不为1
		{
			if (a[i] != 1 && a[i] != -1) {
				printf("%d", a[i]);
			}
			if (a[i] == -1)
			{
				printf("-");
			}
			//系数不为1或不为-1才输出系数,但-1要输出“-”
			if (n != 1)
			{
				printf("x^");
				printf("%d", n);
			}//指数不为1才输出指数指数
			else if (n == 1)
			{
				printf("x");//指数为1则不输出指数
			}

		}
		else if (i == n)
		{
			printf("%d", a[i]);//若指数为0,直接输出系数,不管1或-1
		}
	}//首项
	else//不是首项
	{
		if (a[i] > 0)
		{
			printf("+");//正数输出一个正号,无论系数是否为1

		}
		if (n - i != 0)//指数不为0
		{
			if (a[i] != 1 && a[i] != -1) {
				printf("%d", a[i]);
			}
			if (a[i] == -1)
			{
				printf("-");
			}//系数为1或-1不需要输出系数
			if (n - i != 1)
			{
				printf("x^");
				printf("%d", n - i);
			}
			else
			{
				printf("x");
			}
		}
		else if (n - i == 0)//指数为0则输出系数即可
		{
	
			printf("%d",a[i]);
		}

	}
}return 0;

}

全部评论

相关推荐

不愿透露姓名的神秘牛友
07-25 17:55
点赞 评论 收藏
分享
不愿透露姓名的神秘牛友
07-24 13:32
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务