#include <stdio.h>
int gcd()
{
int i,j,rem;
printf("Enter two integers: ");
scanf("%d%d",&i,&j);
while (i !=0)
{
rem = j % i;
j=i;
i=rem;
}
printf("Greatest common denominator is %d\n",j);
}
int main()
{
gcd();
return 0;
}
我正在使用“C编程现代方法第2版”学习C. 我必须创建一个从用户接收两个数字的函数的练习之一 并返回gcd,我希望能够传递多个数字,但我不知道如何使用C实现此目的。
答案 0 :(得分:0)
我建议将数字作为int
数组传递,然后递归地(最好)应用gcd算法。
int gcd(int *array, int n)
{
if(n == 0)
{
//find gcd using while loop of array[n] and array[n + 1]. store in result.
return result;
}
return gcd(int *a, n -1);
}