Polynomial_0

本文介绍了一种在一元多项式中进行加法运算的C语言实现方法。通过定义结构体PolyNode来存储多项式的系数和指数,该程序能够接受两个多项式作为输入,并按指数从大到小的顺序输出其和。程序首先读取两个多项式的项数和各项的系数与指数,然后比较并合并相同指数的项,最后输出结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

    @【注】两个一元多项式按照指数由大到小的顺序输入!

#include <stdio.h>

#define MAXSIZE 50

struct PolyNode
{
	int coefficient;
	int exponential;
};

int main()
{
	PolyNode a[MAXSIZE];
	PolyNode b[MAXSIZE];
	PolyNode c[2*MAXSIZE];
	int n1, n2;
	scanf("%d", &n1);
	int i;
	for(i=0; i<n1; ++i)
		scanf("%d %d", &a[i].coefficient, &a[i].exponential);
	scanf("%d", &n2);
	int j;
	for(j=0; j<n2; ++j)
		scanf("%d %d", &b[j].coefficient, &b[j].exponential);
	int ind=0;
	for(i=0, j=0; (i<n1)&&(j<n2); )
	{
		if(a[i].exponential>b[j].exponential)
		{
			c[ind].exponential=a[i].exponential;
			c[ind].coefficient=a[i].coefficient;
			++i;
		}
		else if(a[i].exponential<b[j].exponential)
		{
			c[ind].exponential=b[j].exponential;
			c[ind].coefficient=b[j].coefficient;
			++j;
		}
		else
		{
			c[ind].exponential=a[i].exponential;
			c[ind].coefficient=a[i].coefficient+b[j].coefficient;
			++i;
			++j;
		}
		++ind;
	}
	while(i<n1)
	{
		c[ind].exponential=a[i].exponential;
		c[ind].coefficient=a[i].coefficient;
		++i;
		++ind;
	}
	while(j<n2)
	{
		c[ind].exponential=b[j].exponential;
		c[ind].coefficient=b[j].coefficient;
		++j;
		++ind;
	}
	printf("f(x)=");
	for(i=0; i<ind; ++i)
	{
		if(c[i].coefficient>1)
		{	
			if(i!=0)
				printf("+");
			printf("%dx^%d", c[i].coefficient, c[i].exponential);
		}
		else if(c[i].coefficient==1)
		{
			if(i!=0)
				printf("+");
			printf("x^%d", c[i].exponential);
		}
		else if(c[i].coefficient==0)
				;
		else if(c[i].coefficient==-1)
			printf("-x^%d", c[i].exponential);
		else
			printf("%dx^%d", c[i].coefficient, c[i].exponential);
	}
	printf("\n");
	return 0;
}

  

转载于:https://www.cnblogs.com/ozxics/p/10729614.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值