两个自然数a和b的公约数是可以同时整除这两个数的约数。C语言中为了求解这个最大公约数,需要编写一个函数,传入a和b,然后编写一个循环,从a和b中较小的那个数开始,向前递减,直到数字1,如果在循环过程中,发现某个数可以同时整除a和b,那么就返回这个数,即a和b的最大公约数。希望以上回答可以帮助到您。

1.新建一个C语言源程序,使用Visual C++6.0的软件。
2.从键盘中输入两个正整数a和b。
3.取两个数a,b中的较小值存放到变量n中。
4.从两个数a和b中的较小数开始逐个减小1,寻找能整除a和b的整数。第一个找到的整数即整数a和b的最大公约数。
5.点击工具栏的如图图标,对源程序编译运行。
6.测试:输入4,6,得到最大公约数2。程序是正确的,读者可以测试更多的数。
scanf("%d%d",&a,&b);//从键盘输入两个数
n=b;//取两个数中的较小数
1、新建一个工程和.c文件 ,输入头文件和主函数。
3、接下来需要输入a和b。
4、用一个if 语句去判断这两个数是否大于1。
5、用while 语句去求得最大公倍数和最小公约数。
6、输出最大公约数和最小公倍数。
7、编译,运行得到最后的结果
int max(int a,int b){ //求最大公约数的函数