21xrx.com
2024-09-20 00:00:15 Friday
登录
文章检索 我的文章 写文章
C++实验:一元多项式相加
2023-07-10 11:35:05 深夜i     --     --
C++ 实验 一元多项式 相加

本篇文章将向大家介绍一元多项式相加的C++实验。一元多项式指的是仅含有一个变量的多项式,例如x^2+2x+1即为一元多项式。而一元多项式相加则是将两个或多个一元多项式相加得到一个新的一元多项式。

在C++中,可以使用数组来存储一元多项式,例如将x^2+2x+1存储为 1,其中数组下标为幂次,数组元素为对应项的系数。在实现一元多项式相加时,我们可以使用循环来依次将相同幂次的项的系数相加,最后得到一个新的一元多项式。具体实现可参考下面的代码:


#include <iostream>

#include <cstring>

using namespace std;

int main()

{

  int a[1010], b[1010], c[1010];

  memset(a, 0, sizeof(a));

  memset(b, 0, sizeof(b));

  memset(c, 0, sizeof(c));

  int m, n; // m和n分别为两个多项式的最高次项幂次

  cin >> m;

  for(int i = 0; i <= m; i++)

    cin >> a[i];

  cin >> n;

  for(int i = 0; i <= n; i++)

    cin >> b[i];

  int k = max(m, n); // 新多项式的最高次项幂次为m和n的较大值

  for(int i = 0; i <= k; i++)

    c[i] = a[i] + b[i]; // 相同幂次项的系数相加

  for(int i = k; i >= 0; i--) // 输出新多项式

  {

    if(c[i] != 0)

    {

      cout << c[i];

      if(i > 0)

        cout << "x^" << i;

      if(i > 1)

        cout << "+";

    }

  }

  cout << endl;

  return 0;

}

在运行上述代码时,程序将会要求输入两个多项式的最高次项幂次以及每一项的系数,并将它们相加得到一个新的多项式并输出。例如,我们输入:


2 1 2 1

1 4 3

程序将会输出:


1x^2+6x^1+3

其中,输入的第一个多项式为x^2+2x+1,第二个多项式为4x+3,相加得到的新多项式为x^2+6x+3。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复