以下函数fun用于求两个整数a和b的最大公约数。 fun(a,B) int a,b; {int i,j,m,n; if(a>B) {m=a;a=b; 【 】 ;} i=a;j=b; while

admin2013-06-11  22

问题 以下函数fun用于求两个整数a和b的最大公约数。
   fun(a,B)
   int a,b;
  {int i,j,m,n;
    if(a>B)
    {m=a;a=b;  【  】 ;}
      i=a;j=b;
      while((n= 【  】 )!=0)
      {j=i;i=   【  】 ;}
      return(i);
   }

选项

答案b=m j%i. n

解析 函数中的变量i和j分别存放两个形参的最小数和最大数,在语句i=a和j=b执行之前,要将a和b分别变为最小数和最大数,当a>b时,程序使用中间变量将两者交换,所以题中第—个空中应当填写“b=m”;为求两个整数的最大公约数,程序的where循环条件必须为j整除i成立,所以题中第二个空中应当填写“j%i”;程序要通过i的值返回最大公约数,因此在循环中要将每次整除的公钓数赋给i,以保证最后返回的是两个,整数的最大公约数,所以第三个空中应当填写“n”。
转载请注明原文地址:https://kaotiyun.com/show/R5Jp777K
0

最新回复(0)