我正在开发一个从文件中读取线性方程式的程序 - 并使用矩阵求解它们 - :
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
感谢高级
答案 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