早教吧 育儿知识 作业答案 考试题库 百科 知识分享

C中定义函数用辗转相除法求最小公倍数和最大公约数:(我写的程序如下)#includevoidmain(){intmaxcomdivisor(int,int);\x05intmincomdivor(int,int);\x05inta,b;\x05printf("请输入两个正整数:");\x05scanf("%d,%d

题目详情
C中定义函数用辗转相除法求最小公倍数和最大公约数:(我写的程序如下)
#include
void main()
{
int maxcomdivisor(int ,int );
\x05int mincomdivor(int ,int );
\x05int a,b;
\x05printf("请输入两个正整数:");
\x05scanf("%d,%d",&a,&b);
\x05printf("%d与%d的最大公约数是%d,最小公倍数是%d.\n",a,b,maxcomdivisor(a,b),mincomdivor(a,b));
}
int maxcomdivisor(int a,int b)
{int c,d,q;
\x05c=a;
d=b; //改了很久,还是弄不出正确的,
while(c%d!=0)
{q=c%d;
c=d;
d=q;
}
printf("最大公约数为d%\n",d);
return divisor;
}
int maxcomdivisor(int a,int b)
{int c,d,q;
\x05c=a;
d=b;
while(c%d!=0)
{q=c%d;
c=d;
d=q;
}
printf("最小公倍数为d%\n",a*b/d);
return divisor;
}
▼优质解答
答案和解析
int maxcomdivisor(int a, int b)
{

while(a%b!=0)
{
int c=a%b;
a=b;
b=c;
}
return b;
}
int mincomdivor(int a, int b)
{
int d=maxcomdivisor(a,b);
d=a*b/d;
return d;
}
void main()
{
int maxcomdivisor(int , int );
int mincomdivor(int , int );
int a,b;
printf("请输入两个正整数:");
scanf("%d,%d",&a,&b);
printf("%d与%d的最大公约数是%d,最小公倍数是%d.\n",a,b,maxcomdivisor(a,b),mincomdivor(a,b));
}
看了C中定义函数用辗转相除法求最小...的网友还看了以下: