小白提问!求解错哪里了

//求m,n的最大公约数最小公倍数。
#include<stdio.h>
void main( )
{
 int n,m,max,p,t;
  printf("请输入n,m:\n");
 scanf("%d,%d",&n,&m);
 if(n<m)
 {
  max=m;
  m=n;
  n=max;
 }
 p=m*n;
 while(m!=0)
 {
  t=n%m;
  n=m;
  m=t;
 }
 printf("最大公约数是:%d\n",n);
 printf("最小公倍数是:%d\n",p/n);
 //return 0;
}


1383
浏览 1338回答 2
2回答

望远

#include<stdio.h>  int main( )  {  int m,n,max,b,p;  printf("请输入:\n");  scanf("%d,%d",&m,&n);  if(m<n)  {  max=n; n=m; m=max;  }  p=m*n;  while(n!=0) {  b=m%n; //注意这里赋值 m=n; n=b;   }  printf("最大公约数是%d\n",m); printf("最小公倍数是%d\n",p/m);  return 0;  }

望远

程序没有逻辑错误,我猜是你输入的时候有问题注意n,m之间要以,分隔,而且一定要在英文状态下输入。
打开App,查看更多内容
随时随地看视频慕课网APP