任务和代码:在上一篇中完成的实现两数求最大公约数,现在在已有的基础之上,实现四数求最大公约数。
/*
文件名:main.c
作者:小风景
完成日期:2016.6.20
问题描述: 求最大公约数
程序输出:最大公约数
*/
#include <stdio.h>
//int gcd(int x,int y) //定义用于求两数的最大公约数的函数,函数只管求值,不管输出。输出由main完成
int gcd(int x,int y)
{
//比较x,y找出较小的那个
int m = 0;
if(x < y)
{
m = x;
x = y;
y = m;
}
//利用辗转相除法求最大公约数
while(y > 0)
{
m = x % y;
x = y;
y = m;
}
return x;
}
int gcds(int x,int y ,int i ,int j)
{
int m , n ,value;
m = 0; //初始化定义的变量
n = 0;
value = 0;
//调用gcd分别求两数的最大公约数
m = gcd(x,y);
n = gcd(i,j);
value = gcd(m,n);
return value;
}
int main()
{
int a,b,c,d,g;
scanf("%d %d %d %d", &a, &b,&c,&d);
g=gcds(a,b,c,d);
printf("最大公约数是:%d\n", g);
return 0;
}
程序运行结果:
总结:求四数的公约数函数通过调用求两数公约数函数来实现其功能,函数调用函数,被调用的函数必须在调用的函数之前声明 或定义。