为了账号安全,请及时绑定邮箱和手机立即绑定

小白提问!求解错哪里了

小白提问!求解错哪里了

C
1383 2016-12-03 14:32:39
//求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;}
查看完整描述

2 回答

?
望远

TA贡献1017条经验 获得超1032个赞

#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; 
}

//img1.sycdn.imooc.com//5846219100015b1403960109.jpg

查看完整回答
反对 回复 2016-12-06
  • 1383
    1383
    难道是我软件的问题?我换了一台电脑还是不对,都苦恼死我了
  • 望远
    望远
    应该是吧,我用的是VC
  • 望远
    望远
    我修改过循环里的赋值情况,你有没有注意到?
点击展开后面8
?
望远

TA贡献1017条经验 获得超1032个赞

程序没有逻辑错误,我猜是你输入的时候有问题注意n,m之间要以,分隔,而且一定要在英文状态下输入。

查看完整回答
反对 回复 2016-12-03
  • 1383
    1383
    我开始也是这么想的 然后重新打了一遍 还是不对
  • 望远
    望远
    我这里运行没有问题,输入法默认是中文的你切换输入法了吗?
  • 無龑
    無龑
    会不会是编程软件的问题,换个编程软件试试
点击展开后面2
  • 2 回答
  • 0 关注
  • 1330 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信