求最大公约数和最小公倍数

#include <stdio.h>
#include<stdlib.h> /*其它说明*/
#include<string.h> /*字符串函数*/
int  m,n,l;
   void  Suanfa1(int a,int b,int l)
{
int i;
while(b!=0)
{
i=b;
b=a%b;
a=i;
}
printf("两个数的最小公约数为:%d\n",i);
printf("两个数的最大公约数为:%d\n" ,l/i); 
 } 
void Suanfa2(int a,int b,int l)
{


while(a>0&&b>0)
{
if(a>b)
a=a-b;
else 
b=b-a;

}
printf("两个数的最小公约数为:%d\n",a+b);
printf("两个数的最大公约数为:%d\n" ,l/(a+b)); 
}
int  Suanfa3(int a,int b,int l)
{
int c,k;
c=a;
if(b<a)
    c=b;
for(int i=1;i<=c;i++)
{
if((a%i==0&&b%i==0))
k=i;
}


printf("两个数的最小公约数为:%d\n",k);
printf("两个数的最大公约数为:%d\n", l/k); 
}
void change()
{
scanf("%d%d",m,n); 
l=m*n;
}
int main(void)
{

int k=1;
while(k)
{
int num;
printf(" \n\n                    \n\n");
printf("        ****  *******实现方法*********      \n");
printf("     ----------------------   ------------   \n");
printf("     **********************************     \n");
printf("     * 01。输入数字 *  02.方法1: 相除法  *   \n");
printf("     ***********************************     \n"); 
printf("     * 03.方法2:相减法  * 04.   方法3:  .   \n");
printf("*******************05:退出*******************\n") ;
printf("     ----------------   -------------------- \n");
printf("请选择菜单编号:");
scanf("%d",&num);
switch(num)

case 2:Suanfa1(m, n, l);break;
case 3:Suanfa2( m, n, l);break;
case 4:Suanfa3(m, n, l);break;
case 1: change(); break;
case 5:k=0;break;
default:printf("请在0-8之间选择\n");
}
}
system("pause");
return 0;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值