一道有点复杂的模拟题
- #include<cstdio>
- using namespace std;
- int a[102];
- int main()
- {
- int n;
- scanf("%d", &n);
- for(int i = n; i>= 0; i--)
- scanf("%d", &a[i]);
- for(int i = n; i>= 0; i--)
- {
- if(!a[i])
- continue;
- if(i> 1)
- {
- if(a[i] <0 && a[i] != -1)
- printf("%dx^%d", a[i], i);
- else if(a[i]> 0 && a[i] != 1)
- {
- if(i != n)
- printf("+");
- printf("%dx^%d", a[i], i);
- }
- else if(a[i] == 1)
- {
- if(i != n)
- printf("+");
- printf("x^%d", i);
- }
- else if(a[i] == -1)
- printf("-x^%d", i);
- }
- else if(i == 1)
- {
- if(a[i] == 1 && i != n)
- printf("+x");
- else if(a[i] == -1 || i == n)
- printf("-x");
- else if((a[i] <0 && a[i] != -1) || i == n)
- printf("%dx", a[i]);
- else if(a[i]> 0 && i != n && a[i] != 1)
- printf("+%dx", a[i]);
- }
- else if(!i)
- {
- if(a[i] <0 || i == n)
- printf("%d", a[i]);
- else if(a[i]> 0 && i != n)
- printf("+%d", a[i]);
- else if(a[i] == 0 && n == 0)
- printf("0");
- }
- }
- return 0;
- }
来源: http://www.bubuko.com/infodetail-2947538.html