在c中读取从文件到2d数组的线性方程的系数

时间:2016-05-07 06:47:10

标签: c file linear-equation

我正在开发一个从文件中读取线性方程式的程序 - 并使用矩阵求解它们 - :

3x+2y-2z=9
-2x+9y+12z=23
4x-7y+9z=45

该文件应该包含n个带有n个变量的方程式,如何只得到上述方程式中的数字和符号存储在2d整数动态数组中

所以输出会是(有些像这样):

 3  2 -2  9
-2  9 12 23
 4 -7  9 45

感谢高级

1 个答案:

答案 0 :(得分:1)

使用fscanf,' d'修饰符处理有符号整数,这意味着它将处理输入数字,无论它前面是+还是-,请尝试以下代码:

#include <stdio.h>

int main(void) {
    int x, y, z, e;
    FILE *fp = fopen("eq.txt", "r");
    if (!fp)
        return 1;
    while (fscanf(fp, "%dx%dy%dz=%d", &x, &y, &z, &e) == 4) {
        printf("%d %d %d %d\n", x, y, z, e);
    }
    return 0;
}

输出您发布的文件:

3 2 -2 9
-2 9 12 23
4 -7 9 45