http://www.luogu.org/problem/show?pid=1067
看似简单的模拟题,但是许多细节要考虑。具体看代码注释,这样写比较清晰
#include<cstdio>
#include<cstring>
#include<algorithm>
#include<cstdlib>
#define ms(i,j) memset(i, j, sizeof(i));
using namespace std;
int n;
int main()
{
scanf("%d", &n);
for (int i=n;i>=0;i--)//倒序方便指数计算
{
int a;
scanf("%d", &a);//输入系数
if (a==0) continue;//系数不为0,如果为0则不需要输出
//处理符号
if (i!=n) if (a>0) printf("+");
if (a<0) printf("-");
//处理系数
if (abs(a)!=1||i==0) printf("%d", abs(a));
//处理x
if (i!=0) printf("x");
//处理^b
if (i!=1&&i!=0) printf("^%d", i);
}
return 0;
}
本文介绍了一道洛谷平台上的编程题(编号1067),该题要求根据输入的多项式系数逆序输出多项式表达式。文章通过提供详细的C++代码示例,解释了如何处理多项式的各项输出,包括符号、系数、变量及指数。
586

被折叠的 条评论
为什么被折叠?



