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/06/25 20:10:23
![C语言算最大公约数和最小公倍数的问题// abc.cpp :Defines the entry point for the console application.//#include](/uploads/image/z/13417311-39-1.jpg?t=C%E8%AF%AD%E8%A8%80%E7%AE%97%E6%9C%80%E5%A4%A7%E5%85%AC%E7%BA%A6%E6%95%B0%E5%92%8C%E6%9C%80%E5%B0%8F%E5%85%AC%E5%80%8D%E6%95%B0%E7%9A%84%E9%97%AE%E9%A2%98%2F%2F+abc.cpp+%3ADefines+the+entry+point+for+the+console+application.%2F%2F%23include+%22stdafx.h%22%23include+%23include+void+main%28%29%7B%5Cx05int+a%2Cb%2Cc%2Cx%2Cy%2Cz%3Bscanf%28%22%25d%2C%25d%22%2C%26x%2C%26y%29%3Bif+%28x%3Ey%29+x%3Dx%2Cy%3Dy%3B%5Cx05else+c%3Dx%2Cx%3Dy%2Cy%3Dc%3B%5Cx05)
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;这个句子冗余,至于原因你应该明白.