如何用C语言求三个数的最大公约数和最小公倍数
/*试试下面的代码,看是否合乎你的要求!*/
void main()
{
int common_divisor();
int common_multiple();
int i,j,k;
int max_common_divisor,min_common_multiple;
printf("Please Input Three Num:\n");
scanf("%d%d%d",&i,&j,&k);
max_common_divisor = common_divisor(i,j,k);
min_common_multiple = common_multiple(i,j,k);
printf(...全部
/*试试下面的代码,看是否合乎你的要求!*/
void main()
{
int common_divisor();
int common_multiple();
int i,j,k;
int max_common_divisor,min_common_multiple;
printf("Please Input Three Num:\n");
scanf("%d%d%d",&i,&j,&k);
max_common_divisor = common_divisor(i,j,k);
min_common_multiple = common_multiple(i,j,k);
printf("\n\n%d\n",max_common_divisor);
if (min_common_multiple == -1)
printf("not exist min_common_multiple!\n");
else
printf("%d\n",min_common_multiple);
getch();
}
int common_divisor(int i,int j,int k)
{
int m,max,val = 0;
if (i>j)
max = i;
else
max = j;
if (k >max)
max = k;
for(m=max;m>0;m--)
{
if(i%m==0 && j%m ==0 && k%m == 0 && m > val)
{
val = m;
break;
}
}
return val;
}
int common_multiple(int i,int j,int k)
{
int m,max=0,val=0;
if (i>j)
max = i;
else
max = j;
if (k>max)
max = k;
for(m=max;m>0;m++)
{
if(m%i==0 && m%j ==0 && m%k == 0 )
{
val = m;
break;
}
}
if (val > 0)
return val;
else
return -1;
}
。
收起