c++ - 如何将多项式的系数和指数提取为字符串

标签 c++ extract polynomials

你好,我的问题是我必须提取用户给出的多项式的系数和指数。 当我尝试我的代码时,它只对系数起作用,而对指数它给了我一个零。 p.s a 只是为了测试

int main() {
    char x[10];
    char y[10];

    char a[100] = "53x2+4x^3";
    for (int i = 0; a[i] != '+'; i++)
    {
        if (a[i] != 'x')
        {
            x[i] = a[i];
        }

    }
    for (int i = 0; a[i] != '+'; i++)
    {

        if ((a[i] == 'x') && (a[i + 1] == '^')) {
            y[i] = a[i + 2];
        }
    }
    double w;
    int z;

    w = atof(x);
    z = atoi(y);

    cout << w << endl;
    cout << z << endl;


    return 0;
}

最佳答案

您需要使用空终止符初始化系数和指数缓冲区,以便在输出控制台读取它们时正确地以空终止。

#include <iostream>

using namespace std;

int main() {
    char x[10] = {'\0'};
    char y[10] = {'\0'};

    char a[100] = "53x^2+4x^3";
    for (int i = 0, j = 0; a[i] != '+'; i++)
    {
        if (a[i] != 'x')
        {
            x[j] = a[i];
            j++;
        }

    }
    for (int i = 0, j = 0; a[i] != '+'; i++)
    {

        if ((a[i] == 'x') && (a[i + 1] == '^')) {
            y[j] = a[i + 2];
            j++;
        }
    }
    double w;
    int z;

    w = atof(x);
    z = atoi(y);

    cout << w << endl;
    cout << z << endl;


    return 0;
}

关于c++ - 如何将多项式的系数和指数提取为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53143991/

相关文章:

c++ - 当需要特定于类型参数的代码时,应使用模板吗?

c++ - 类成员不是引用而是构造函数,参数通过引用传递

c - 如何从C文件中提取代码注释?

python - Poly1d 对象数组的 Numpy 问题

c - 递归 C 程序对多项式微分直至停止

c++ - vector push_back() with reserve() 运行缓慢

c++ - QAbstractItemModel data() 永远不会被调用

ios - iOS 中的 OpenCV 颜色提取

bash - 在 Windows 中使用 Ghostscript 将多个 PDF 文件转换为子目录中的文本文件

java - 在java中使用链表乘多项式