题目连接:http://www.rqnoj.cn/Problem_516.html
解题思路:分类考虑一下。
1、第一个'+'不用输出;
2、系数为1不输出;
3、幂为1不输出;
4、系数为0整项不输出。
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
const int N = 105;
int main() {
int n, num[N];
while (scanf("%d", &n) == 1) {
for (int i = 0; i <= n; i++)
scanf("%d", &num[i]);
for (int i = 0; i <= n; i++) {
if (num[i] == 0) continue;
if (num[i] < 0)
printf("-");
else if(i)
printf("+");
if (abs(num[i]) != 1 || i == n)
printf("%d", abs(num[i]));
if (i != n)
printf("x");
if (i < n - 1)
printf("^%d", n - i);
}
printf("\n");
}
return 0;
}