问题描述:
输入两个数,并求出其最大公约数。请写出求最大公约数的函数
程序代码:
#include <stdio.h>
#include <stdlib.h>
/*
*csdn学院--2016级
*目的:让代码见证成长(作为一个初学的菜鸟,如
*大家有发现错误,欢迎指正!)
*文件名称:Myfun111.c
*作者:小臣小仁
*完成日期:2017年2月21日
*/
int gcd(int x,int y)
{
int z;
while(x!=0)
{
z=y%x;
y=x;
x=z;
}
return(y);
}
int gcds(int a1,int b1,int c1,int d1)
{
int g1,g2,g;
g1=gcd(a1,b1);
g2=gcd(c1,d1);
g=gcd(g1,g2);
return(g);
}
int main()
{
int a1,b1,c1,d1;
printf("请输入4个数:");
scanf("%d %d %d %d",&a1,&b1,&c1,&d1);
printf("最大公约数是:%d\n",gcds(a1,b1,c1,d1));
return 0;
}
输出结果
知识点总结
通过gcb函数用辗转相除法,求两数的最大公约数
然后的调用gcbs,来实现求四个函数的最大公约数
心得体会
函数的调用减少了程序的代码量,提高了代码的可读性,但作为一个大二菜鸟,代码可能还有太多疏漏,望大家包涵!