该程序用于通过公式/算法找到两个整数a和b的HCF - ' a = bq + r'其中a和b是两个数,q是商,r是余数 这是代码。
#include <stdio.h>
int main() {
int a, b;
printf("enter both numbers a>b to find HCF\n");
scanf("%d %d",&a, &b);
int q, r, hcf;
if(a%b == 0) {
r = 0;
hcf = r;
} else {
q = a/b;
r = a%b;
}
int i;
for(i = r; i = 0;) {
a = b;
b = i;
hcf = b;
q = a/b;
i = a%b;
}
printf("HCF is: %d", hcf);
return 0;
}
答案 0 :(得分:2)
for循环不正确。您需要使用==
代替=
。 =
运算符用于分配,==
用于比较。此外,您希望循环在i == 0
时停止,因此条件应为i != 0
。以下循环适用于我:
for(i = r; i != 0; ) {
a = b;
b = i;
hcf = b;
i = a%b;
}