C语言算最大公约数和最小公倍数的问题// abc.cpp :Defines the entry point for the console application.//#include "stdafx.h"#include #include void main(){\x05int a,b,c,x,y,z;scanf("%d,%d",&x,&y);if (x>y) x=x,y=y;\x05else c=x,x=y,y=c;\x05

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/24 02:58:03
C语言算最大公约数和最小公倍数的问题// abc.cpp :Defines the entry point for the console application.//#include y) x=x,y=y;\x05else c=x,x=y,y=c;\x05" />

C语言算最大公约数和最小公倍数的问题// abc.cpp :Defines the entry point for the console application.//#include "stdafx.h"#include #include void main(){\x05int a,b,c,x,y,z;scanf("%d,%d",&x,&y);if (x>y) x=x,y=y;\x05else c=x,x=y,y=c;\x05
C语言算最大公约数和最小公倍数的问题
// abc.cpp :Defines the entry point for the console application.
//
#include "stdafx.h"
#include
#include
void main()
{
\x05int a,b,c,x,y,z;
scanf("%d,%d",&x,&y);
if (x>y) x=x,y=y;
\x05else c=x,x=y,y=c;
\x05b=x*y;
\x05do
\x05{
\x05\x05a=x%y;
\x05\x05x=y;
\x05\x05y=a;
\x05\x05a=x%y;
\x05}
while(a=0);
printf("最大公约数是%d\n",y);
z=b/y;
printf("最小公倍数是%d\n",z);
}
若一开始输入的数没有互质,可是若是一开始的两个数互质,就算不出来,

C语言算最大公约数和最小公倍数的问题// abc.cpp :Defines the entry point for the console application.//#include "stdafx.h"#include #include void main(){\x05int a,b,c,x,y,z;scanf("%d,%d",&x,&y);if (x>y) x=x,y=y;\x05else c=x,x=y,y=c;\x05
// abc.cpp : Defines the entry point for the console application.
//
#include
#include
void main()
{
int a,b,c,x,y,z;
scanf("%d%d",&x,&y);
if (x>y) x=x,y=y;
else c=x,x=y,y=c;
b=x*y;
a=x%y;
while(a!=0)
{
x=y;
y=a;
a=x%y;
}

printf("最大公约数是%d\n",y);
z=b/y;
printf("最小公倍数是%d\n",z);
}
//算法本身有问题,还有一些粗心的错误,比如那位仁兄说的while(a=0); 改成while(a!=0);
//还有就是输入时要注意,如果是scanf("%d,%d",&x,&y);的话输入之间要有逗号间隔.
还有就是,if (x>y) x=x,y=y;这个句子冗余,至于原因你应该明白.