永发信息网

计算机编程 改错

答案:4  悬赏:0  手机版
解决时间 2021-08-16 14:38
  • 提问者网友:像風在裏
  • 2021-08-16 08:57

第三题、改错题(20分)

题号【1_2】下列给定程序中,函数fun的功能是:求出两个非零正整数的最大公约数,并作为函数值返回。例如,若给numl和num2分别输入49和2l,则输出的最大公约数为7;若给numl和num2分别输入27和81,则输出的最大公约数为27。

#include <stdio.h>

int fun(int a, int b)

{ int r,t;

  if(a<b)

  { t=a;b=a;a=t;}

  r=a%b;

  while(r!=0)

  { a=b;b=r;r=a%b;}

  return(a);

}

main()

{ int num1,num2,a;

  printf("input num1 num2: ");

scanf("%d%d",&num1,&num2);

  printf("num1=%d  num2=%d\n\n",num1,num2);

  a=fun(num1,num2);

  printf("the maximun common divisor is %d\n\n",a);

}

最佳答案
  • 五星知识达人网友:持酒劝斜阳
  • 2021-08-16 09:11

#include <stdio.h>


int fun(int a, int b)


{ int r,t;


  if(a<b)



  { t=a;a=b;b=t;}


  r=a%b;


  while(r!=0)


  { a=b;b=r;r=a%b;}



  return(b);


}


main()


{ int num1,num2,a;


  printf("input num1 num2: ");


scanf("%d%d",&num1,&num2);


  printf("num1=%d  num2=%d\n\n",num1,num2);


  a=fun(num1,num2);


  printf("the maximun common divisor is %d\n\n",a);
getch();
}

全部回答
  • 1楼网友:夜风逐马
  • 2021-08-16 12:46

#include <stdio.h>

int fun(int a, int b)

{ int r,t;

  if(a<b)

  { t=a;a=b;b=t;}

  r=a%b;

  while(r!=0)

  { a=b;b=r;r=a%b;}

  return(b);

}

main()

{ int num1,num2,a;

  printf("input num1 num2: ");

scanf("%d%d",&num1,&num2);

  printf("num1=%d  num2=%d\n\n",num1,num2);

  a=fun(num1,num2);

  printf("the maximun common divisor is %d\n\n",a);

}

  • 2楼网友:廢物販賣機
  • 2021-08-16 11:17

第一处:{t=a;a=b;b=t}

第二处:return b;

  • 3楼网友:渡鹤影
  • 2021-08-16 09:43

#include <stdio.h>

int fun(int a, int b)

{ int r,t;

  if(a<b)

  { t=a;b=a;a=t;}

  r=a%b;

  while(r!=0)

  { a=b;b=r;r=a%b;}

  return(b); //就是最大公约数

}

main()

{ int num1,num2,a;

  printf("input num1 num2: ");

scanf("%d%d",&num1,&num2);

  printf("num1=%d  num2=%d\n\n",num1,num2);

  a=fun(num1,num2);

  printf("the maximun common divisor is %d\n\n",a);

}

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯