目的:定义递归函数来求两个数的最大公约数
/*
目的:辗转相除法求最大公约数。
方法:函数的递归调用
*/
# include <stdio.h>
//首先定义一个递归函数,两个整型形参,返回最大公约数。
# 大数在右小数在左
int gcd(int a, int b)
{
if(b%a==0)
return a;
else
return gcd(b%a,a);
}
int main(void)
{
int num_1, num_2;
int res, temp;
printf("请输入两个整数,中间用空格隔开:");
scanf("%d %d", &num_1, &num_2);
if(num_1>num_2)//保证调用gcd函数时两个参数从小到大排列
{
temp=num_1;
num_1=num_2;
num_2=temp;
}
res=gcd(num_1, num_2);
printf("%d和%d之间的最大公约数是%d。", num_1, num_2, res);
return 0;
}