C语言基础-编写求两个整数最大公约数的函数,并调用此函数求两个整数的最大公约数和最小公倍数。(头文件、方法主体、主函数,分离)

这是我个人学习c语言的练习,如果对你有帮助,请关注我,我将不定期更新,如果疑问或者建议可以在评论区留言沟通。

我将头文件、方法主体、主函数分离,写在上文件里,一个头文件(c043-mymath.h),一个方法主体函数文件(c043-mymath.c),一个主函数文件(c043-mymath_test.c),把三个文件放一起。

编译方法:gcc -Iinclude c043-mymath.c c043-mymath_test.c

头文件(c043-mymath.h)

/*
*Copyright(c)2018 V万能的小黑V
*文件名:c04-mymath.h
*描述:计算最大公约和最小公倍数头文件
*作者:V万能的小黑V
*日期:2018年11月22日
*当前版本:1.0
*/
/*
*函数名称:hcf
*描述:实现最大公约
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个整型
×当前版本:1.0
*/
int hcf(int x,int y);
/*
*函数名称:lcm
*描述:实现最小公倍数
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个数字
×当前版本:1.0
*/
int lcm(int x,int y,int l);

方法主体(c043-mymath.c)

/*
*Copyright(c)2018 V万能的小黑V
*文件名:c043-mymath.c
*描述:最大公约和最小公倍数运算
*作者:V万能的小黑V
*日期:2018年11月22日
*当前版本:1.0
*/
/*
*函数名称:hcf
*描述:实现最大公约
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个整型
×当前版本:1.0
*/
int hcf(int x,int y)
{
	int i,k,m,n;
	int sum = 1;
	k = x>y?y:x;
	i = 2;
	while(i <= k){
		m = x % i;
		n = y % i;
		if(m == 0 && n == 0){
			sum *= i;
			x /= i;
			y /= i;
			i = 2;
		}else{i++;}
	}
	return sum;
}
/*
*函数名称:lcm
*描述:实现最小公倍数
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个数字
×当前版本:1.0
*/
int lcm(int x,int y,int l)
{
	return x*y/l;
}

主函数(c043-mymath_test.c)

/*
*Copyright(c)2018 V万能的小黑V
*文件名:c043-mymath_test.c
*描述:最大公约和最小公倍数运算,主函数
*作者:V万能的小黑V
*日期:2018年11月22日
*当前版本:1.0
*/
#include 
#include "c043-mymath.h"
/*
*函数名称:main
*描述:实现输入两个整数,输出最大公约和最小公倍数的输出
×作者:V万能的小黑V
×完成日期:2018年11月22日
×输入:输入两个整型
×当前版本:1.0
*/
int main()
{
	int x,y,hcf1,lcm1;
	printf("请输入两个整数,我们将自动为您计算最大公约数和最小公倍数:");
	scanf("%d %d",&x,&y);
	hcf1 = hcf(x,y);
	lcm1 = lcm(x,y,hcf1);
	printf("最大公约数:%d\n最小公倍数:%d\n",hcf1,lcm1);
	
	return 0;
}

你可能感兴趣的:(C原创)