填空题 请补充main()函数,该函数的功能是:输入两个正整数num1和num2,求这两个数的最大公约数和最小公倍数。
例如,若输入的两个正整数为12、4,则它们的最大公约数为4,最小公倍数为12。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在main()函数的横线上填入所编写的若干表达式或语句。
试题程序:
#include<stdlib.h>
#include<stdio.h>
void main()
{
int a, b, num1, num2, t;
system("CLS");
printf("/nInput two numbers: /n");
scanf("%d, %d", &num1, &num2);
if(num1<num2)
{
a=num2;
b=num1;
}
else
{
a=num1;
b=num2;
}
while( 1)
{
t= 2
a=b;
b=t;
}
printf("greatest common divisor:
%d/n", a);
printf("least common multiple:
%d/n", 3);
}
【正确答案】
【答案解析】b!=0 a%b num1*num2/a[解析] 由程序可知,变量b中存放两个正整数中较小的那个数,while循环求两个正整数的公约数。因此第一空填“b!=0”;第二空填“a%b”;第三处是求两个正整数最小公倍数的表达式,因此第三空填“num1*num2/a”。