第1个回答 推荐于2016-01-23
a.cpp
# include<stdio.h>
# include<stdlib.h>
# include"hand.h"
int main(void)
{
int m,n;
int sum,total;
printf("请输入两个整数:\n");
scanf("%d%d",&m,&n);
printf("这两个数的最大公约数为:");
GCD(n,m,&sum);
printf("%d\n",sum);
printf("这两个数的最小公倍数为:");
LCM(n,m,sum,&total);
printf("%d\n",total);
system("pause");
return 0;
}
b.cpp
# include<stdio.h>
# include"hand.h"
void GCD(int n,int m,int *sum)
{
int t=0;
if(n<m)
{
t = m;
m = n;
n = t;
}
//辗转相除,直到除数为零为止
while(m!=0)
{
t = n%m;
n = m;
m = t;
}
*sum = n;
}
c.cpp
# include<stdio.h>
# include"hand.h"
void LCM(int n, int m, int sum, int *total)
{
*total = n*m/sum;
}
hand.h
#ifndef HAND_H
#define HAND_H
/*
函数名:求最大公约数
参数:n 第一个整数
m 第二个整数
sum 两个整数的最大公约数
返回值:无
*/
void GCD(int n,int m,int *sum);
/*
函数名:求最小公倍数
参数:n 第一个整数
m 第二个整数
sum 两个整数的最大公约数
total 两个整数的最小公倍数
返回值:无
*/
void LCM(int n,int m,int sum,int *total);
#endif本回答被提问者和网友采纳