来个xd注释一下,详细点

img

  这是典型的辗转相除法找最大公因数
 再利用最大公因数与最小公倍数的性质求公倍数。
  注释之前我先简单说一下这个方法的原理:
  1.辗转相除法
 以求9和6的最大公因数和最小公倍数为例。
 9/6=1余3    9%6=3   那么9分为了3和6两部分
 6/3=2余0    6%3=0   那么6是3的倍数,而前面已经说了9为3和6相加,那么9也一定是3的倍数。
 因此3为6和9的最大公因数(至于为什么是最大的,是因为我们是从俩数相除开始的,也就是从最大的数往下找)
  2.最小公倍数
   对于最小公倍数我们假设9,6,他们的最大公因数为3。
  而9=3*3     6=3*2
  最简单的公倍数为6*9=54
  写成6*9=3*2*3*3
  可以发现存在两个最大公因数3
  那么去掉一个为3*2*3就既是9倍数也为6倍数

则最小公倍数=两数相乘/最大公因数
再看注释如下:

#include"stdio.h"
#include"stdlib.h"
//头文件预处理不用多说
int gys(int a,int b)//定义求最大公因数函数,返回整型
{
  int r;//声明整型r接收余数
 r=a%b;
while(r!=0)//若一直未除尽则一直循环
{
a=b;b=r;r=a%b;//这个则是开始我们的算法
                 //即用小数取模余数,再更新再循环
}
//除到余数为0说明找到了最大公因数,退出循环。
return b;//更新到最后的b就是最大公因数
}
int gbs(int a,int b)//定义寻找最小公倍数函数
{
return a*b/gys(a,b);//调用之前的最大公因数函数
//实现最大公因数和最小公倍数关系求出最小公倍数
}
int main()
{
int m,n;
scanf("%d%d",&m&n);//主函数输入m,n
printf("gys=%d/n",gys(m,n));//调用公因数函数并输出结果和换行
printf("gys=%d/n",gys(m,n));//调用公倍数函数并输出结果和换行
return 0;//程序结束
}

不懂再问!望采纳!

gys函数是辗转相除得最大公因数
gbs函数是通过两数相乘再除最大公因数求最小公倍数
main函数接收用户录入的两个数字,并将两数传递给函数形参,打印两函数返回值。

img


其实也没有什么可以注释的,你可以跟着代码想一下就明白是怎么运行的了