利用C语言,编写一个函数,求两个整数的最大公约数,用主函数调用这个函数并输出结果,两个整数由键盘输入。(提示:用辗转相除法求最大公约数)
/*
编写一个函数,求两个整数的最大公约数,用主函数调用这个函数并输出结果,两个整数由键盘输入。(提
示:用辗转相除法求最大公约数)
辗转相除法:用较大的数对较小的数求余,在用较小的数对第一个余数求余,以此类推,直到得到的余数为 0,则该除数就是它们的最大公约数
*/
#include <stdio.h>
void GreatestCommonDivisor(int data, int data1)
{
int tmp = 1;
while (tmp != 0)
{
if (data > data1)
{
tmp = data % data1;
data = data1;
data1 = tmp;
if( tmp == 0)printf("%d",data);//输出其的最大公约数
}
else
{
tmp = data1 % data;
data1 = data;
data = tmp;
if( tmp == 0)printf("%d",data1);//输出其的最大公约数
}
}
}
int main()
{
int data, data1;
printf("请输入两个整数:\n");
scanf("%d%d", &data, &data1);
GreatestCommonDivisor(data, data1);
}
运行结果