题解
2024-04-29 21:20:40
发布于:江苏
897阅读
0回复
0点赞
A4.多项式输出

这题没有题解
代码见下
#include <bits/stdc++.h>
using namespace std;
int main(void)
{
	int n;
	scanf("%d", &n);
	int a[101] = { 0 };
	for (int i = 0; i <= n; i++)
    {
        scanf("%d", &a[i]);
    }
	for (int i = 0; i <= n; i++) 
    {
		if (a[0] && i == 0 && abs(a[i]) != 1)
        {
            printf("%dx^%d", a[i], n);
        }
		if (a[0] && i == 0 && abs(a[i]) == 1)
        {
			if (a[i] == 1)
            {
            	printf("x^%d", n);    
            }
			else 
            {
                printf("-x^%d", n);
            }
		}
		if (a[i] > 0 && i != n && i != 0 && i != n - 1 && abs(a[i]) != 1)
        {
			printf("+%dx^%d", a[i], n - i);
		}
		if (a[i] < 0 && i != n&&i!=n-1 && i != 0 && abs(a[i]) != 1) 
        {
			printf("%dx^%d", a[i], n - i);
		}
		if (a[i] && i != n  && i != 0 &&i!=n-1&& abs(a[i]) == 1) 
        {
			if (a[i] == 1)
            {
                printf("+x^%d", n - i);
            }	
			else
            {
                printf("-x^%d", n - i);
            }
		}
		if (i == n - 1 && a[i] > 0 && abs(a[i]) != 1)
        {
            printf("+%dx");
        }
		if (i == n - 1 && a[i] < 0 && abs(a[i]) != 1)
        {
            printf("%dx");
        }
		if (i == n - 1 && abs(a[i]) == 1) 
        {
			if (a[i] == 1)
            {
                printf("+x");
            }
			else
            {
                printf("-x");
            }
		}
		if (i == n && a[i] > 0)
        {
            printf("+%d", a[i]);
        }
		if (i == n  && a[i] < 0)
        {
            printf("%d", a[i]);
        }   
    }
	return 0;
}
// 多年后的极致压行(
#include <bits/stdc++.h>
using namespace std;
int main(void) {
	int n;
	scanf("%d", &n);
	int a[101] = { 0 };
	for (int i = 0; i <= n; i++) {
		scanf("%d", &a[i]); }
	for (int i = 0; i <= n; i++) {
		if (a[0] && i == 0 && abs(a[i]) != 1) {
			printf("%dx^%d", a[i], n); }
		if (a[0] && i == 0 && abs(a[i]) == 1) {
			if (a[i] == 1) {
				printf("x^%d", n); }
			else {
				printf("-x^%d", n); } }
		if (a[i] > 0 && i != n && i != 0 && i != n - 1 && abs(a[i]) != 1) {
			printf("+%dx^%d", a[i], n - i); }
		if (a[i] < 0 && i != n && i != n - 1 && i != 0 && abs(a[i]) != 1) {
			printf("%dx^%d", a[i], n - i); }
		if (a[i] && i != n  && i != 0 && i != n - 1 && abs(a[i]) == 1) {
			if (a[i] == 1) {
				printf("+x^%d", n - i); }
			else {
				printf("-x^%d", n - i); } }
		if (i == n - 1 && a[i] > 0 && abs(a[i]) != 1) {
			printf("+%dx"); }
		if (i == n - 1 && a[i] < 0 && abs(a[i]) != 1) {
			printf("%dx"); }
		if (i == n - 1 && abs(a[i]) == 1) {
			if (a[i] == 1) {
				printf("+x"); }
			else {
				printf("-x"); } }
		if (i == n && a[i] > 0) {
			printf("+%d", a[i]); }
		if (i == n  && a[i] < 0) {
			printf("%d", a[i]); } }
	return 0; }
全部评论 4
#include<iostream> int n,a[110]; using namespace std; int main(){ cin>>n; for(int i=0;i<=n;i++)cin>>a[i]; for(int i=0,j=n;i<=n;i++,j--){ if(a[i]==0)continue; if(i>0&&a[i]>0)cout<<"+"; if(a[i]==-1&&j!=0)cout<<"-"; if(abs(a[i])!=1||(abs(a[i])==1&&j==0))cout<<a[i]; if(j!=0)cout<<"x"; if(j>1)cout<<"^"<<j; } return 0; }5天前 来自 上海
1#include<bits/stdc++.h> using namespace std;void x(int a,int b,int c){if(!a)return;if(a<0)cout<<'-';else if(c)cout<<'+';if(abs(a)!=1||b==0)cout<<abs(a);if(b==1)cout<<'x';else if(b!=0)cout<<"x^"<<b;}int main(){int n,f;cin>>n>>f;x(f,n,0);for(int i=n-1;i>=0;i--){cin>>f;x(f,i,1);}return 0;}2025-05-22 来自 重庆
0额,这么长
2023-11-27 来自 广东
0错的吧
2023-07-12 来自 浙江
0是对的!好吗?
2023-07-14 来自 浙江
0行 ,你说对就对吧
2023-07-15 来自 浙江
0自己不会就别b
2023-07-15 来自 广东
3










有帮助,赞一个