我正在开发一个程序,该程序从诸如那些文件中读取线性方程 - 并使用矩阵求解它们 - :
3x+2y-2z=9
-2x+9y+12z=23
4x-7y+9z=45
该文件应该包含具有 n 个变量的 n 个方程,如何仅从上述方程中获取数字和符号以存储在整数的二维动态数组中
所以输出将是(像这样的东西):
3 2 -2 9
-2 9 12 23
4 -7 9 45
先谢谢了
我正在开发一个程序,该程序从诸如那些文件中读取线性方程 - 并使用矩阵求解它们 - :
3x+2y-2z=9
-2x+9y+12z=23
4x-7y+9z=45
该文件应该包含具有 n 个变量的 n 个方程,如何仅从上述方程中获取数字和符号以存储在整数的二维动态数组中
所以输出将是(像这样的东西):
3 2 -2 9
-2 9 12 23
4 -7 9 45
先谢谢了
使用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