我写了一个示例程序来计算两个数字的gcd。这是:
#include stdio.h
int main(void) {
int m, n, rem;
printf("Enter two numbers consecutively(with a space between them): ");
scanf("%d %d", &m, &n);
while (m) {
n = m % n; //problem here
n = rem;
}
printf("%d is the GCD", rem);
return 0;
}
我认为我应该将模数运算符语句的输出存储在rem中,但到目前为止,我的程序没有响应给定的任何输入。有人能给我一些线索。
答案 0 :(得分:2)
有人能给我一些线索。
对于初学者,你不会在循环中更改m
,因此无法结束。
答案 1 :(得分:1)
有人能给我一个线索
rem
未设置初始值,您尝试在循环中将n
的值更改两次。
答案 2 :(得分:0)
如果你在计算机程序的上下文之外,但是使用变量,你会如何手动使用Euclidiean算法,这可能是一个好主意。无论如何:
n = m % n; //problem here
n = rem;
这将如何实现?你说“n =一件事”,然后“n =另一件事”,但在此期间你没有做任何事情。