给定程序MODII.C中函数fun的功能是:求三个数的最小公倍数。 例如,给主函数中的变量x1、x2、x3分别输入15 112,则输出结果应当是:330。 请改正程序中的错误,使它能得出正确结果。 注意:不要改动main函数,不得增

admin2013-03-29  28

问题 给定程序MODII.C中函数fun的功能是:求三个数的最小公倍数。
    例如,给主函数中的变量x1、x2、x3分别输入15 112,则输出结果应当是:330。
    请改正程序中的错误,使它能得出正确结果。
    注意:不要改动main函数,不得增行或删行,也不得更改程序的结构。
#include
/**********found**************/
fun(int x,y,z)
{ int j,t,n,m;
  j=1;
  t=j%x;
  m=j%y;
  n=j%z;
  while(t!=0||m!=0||n!=0)
  {  j=jJ+1;
    t=j%x;
    m=j%y;
    n=j%Z;
    }  
/***************found***************/
  return i;
}
main()
{int x1,x2,x3,j;
  printf("Input x1 x2 x3:");
scanf("%d%d%d",&x1,&x2,&x3);
  printf("x1=%d,x2=%d,x3=%d\n",x1,x2,x3);
  j=fun(x1,x2,x3);
  printf("The  minimal  common
multiple is:%d\n",j);
}

选项

答案(1)int fun(int x, int y, int z) (2)return j;

解析 (1)在主函数中“j=fun(x1,x2,x3);",可知fun函数有3个整型形参,且有整型返回值,在第一个标识下,应该有三个int声明的变量,故第一标识下应改成“int fun(int x,int y,int z)"。
    (2)在循环“whileq(t!=0||m!=0||n!=0)"中,当t、m和n均为O时,即j%x、j%y和j%z均等于0,循环条件为假,退出循环,此时j就是x、y和z的最小公倍数,故函数的返回值为j。
转载请注明原文地址:https://kaotiyun.com/show/DWJp777K
0

最新回复(0)