#include <stdio.h>
int Hcf, Lcd; // 定义全局变量,用于存储最大公约数和最小公倍数
int main(){
// 主函数,用于输入两个数,并调用求最大公约数和最小公倍数的函数
void hcf(int, int); // 声明求最大公约数的函数
void lcd(int, int); // 声明求最小公倍数的函数
int u, v;
printf("Please enter two numbers: ");
scanf("%d,%d", &u, &v); // 输入两个整数
hcf(u, v); // 调用求最大公约数函数
printf("最大公约数=%d\n", Hcf); // 输出最大公约数
lcd(u, v); // 调用求最小公倍数函数
printf("最小公倍数=%d\n", Lcd); // 输出最小公倍数
}
// 求最大公约数的函数
void hcf(int u, int v){
int t, r;
if(v > u){ // 交换两个数,确保u >= v
t = u;
u = v;
v = t;
}
// 使用辗转相除法求最大公约数
while((r = u % v) != 0){
u = v;
v = r;
}
Hcf = v; // 将最大公约数赋值给全局变量Hcf
}
// 求最小公倍数的函数
void lcd(int u, int v){
Lcd = (u * v) / Hcf; // 最小公倍数等于两数乘积除以最大公约数
}