请补充main函数,该函数的功能是:输入两个正整数m和n,求这两个数的最大公约和最小公倍数。
注意:部分源程序给出如下。
请勿改动主函数main和其他函数中的任何内容,仅在 main函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include <stdio.h>
main ( )
int a, b, n, m, t;
clrscr ();
printf ("\nInput two numbers: \n");
scanf ("%d, %d", &n, &m);
if (n<m)
a=m;
b=n;
else
a=n;
b=m;
while( 【1】 )
t= 【2】
a=b;
b=t;
printf ("greatest con. non divisor:
%d\n", a);
printf ("least common multiple:
%d\n", 【3】 );
参考答案:[1]b!=0 [2]a%b; (3)n*m/a
解析: 填空1:本题考查求最大公约数和最小公倍数的方法。变量a保存两数中较大着,变量b保存较小者,采用循环的方法求解最大公约数,循环结束条件是b等于0。填空2:求解最大公约数的思路是,将a对b求余,如果余数为0, 则b即为两数的最大公约数,如果余数不为0,则将b赋给a,余数赋给b,继续将a对b求余,如此循环,直到余数为0。填空3:最小公倍数等于两数的乘积除以最大公倍数。