我有一个问题需要我编写一个程序来找到一对一阶联立方程的解。我必须彻底测试 x 和 y 的所有值才能找到整数解。两个方程的系数 A、B 和 C 位于名为“input.txt”的数据文本文件中。
文本文件包含以下数据:
1 0 99
0 2 -100
下面是我的程序:
#include <stdio.h>;
#define FILENAME "input.txt"
int main() {
int A, B, C, x, y;
FILE *input;
input = fopen(FILENAME,"r");
fscanf(input,"%d%d%d", &A,&B,&C);
for(x = -100; x <= 100; x++)
for(y = -100; y <= 100; y++)
if(A*x+B*y==C){
fscanf(input,"%d%d%d", &A,&B,&C);
if(A*x+B*y==C)
printf("X=%d, Y=%d\n", x, y);
}
return 0;
}
当我编译并运行程序时,我得到
X=99, Y=-50
X=100, Y=-50
显然,该程序有一些错误。这些是什么?
另外,如果我想打印一条消息,说明[-100, 100]
只能在该范围内找到解决方案一次,我应该如何将此 printf 函数插入程序中?