这个怎么求最大公约数和最小公倍数,横线怎么填,为什么?

#include "stdio.h"
#include "stdlib.h"
main()
{ int p,a,b,t,i;
printf("请输入两个正整数:");
scanf("%d,%d",&a,&b);
if (a<b)
{t=a;a=b;b=t;}
p=a*b;
/************found************/

for(___________; ___________; i--)
/************found************/
{if( a_____&& b_____) break;}
printf ("最大公约数为:%d\n",i);
printf("最小公倍数为:%d\n",p/i);
system("pause");
}

i=b;i>0
%i==0
%i==0
从b(之前的if交换保证了b为a,b中的最小数)到1之间找第一个能同时整除a,b的数,就是最大公约数,a乘b除以这个数得到最小公倍数