设计一个模块cmnfctr,计算给定的两个整数的所有公约数

设计一个模块cmnfctr,计算给定的两个整数的所有公约数。CalcCommonFactorOf()用来设定参与计算的两个整数,然后每调用一次NextCommonFactor()得到一个公约数,按照从大到小的顺序给出。用下面给定的代码调用此模块。

int main() {

int sub;

CalcCommonFactorOf(100, 50);

while ((sub = NextCommonFactor()) > 0) {

    static int counter = 1;

    printf("Common factor %d is %d\n", counter++, sub);

}

return 0;

}