C语言编程实例

C语言编程–输入两个数求最小公约数和最大公倍数

  • 题目1:输入两个数,求最小公约数和最大公倍数。
//输入:
15 6
//输出:
3 30

思路分析:
1.最小公约数:考虑两个数的大小问题。有可能大数刚好是小数的倍数,也可能不是。所以需从小数开始,通过三元运算获取到小数,定义变量i,循环查找x和y都能求模为0最大公因数
2.最小公倍数:考虑一个数从1开始乘积,判断乘积对另一个数求模是否为0。

#include <stdio.h>

int max1(int ,int );//声明函数max1()
int min1(int ,int );//声明函数min1()
//函数在main函数的后面时需要进行声明
int main()
{
  int x;
  int y;
  scanf("%d%d",&x,&y);
  max1(x,y);
  min1(x,y);
  return 0;
}

int max1(int x,int y)
{
  int num = x<y?x:y;//求较小的数
  //printf("%d",num);(做判断,仅作验证)
  for(int i = num;i>0;i--)
  {
    if((x%i==0)&&(y%i==0))
    {
      printf("%d ",i);
      return 0;//退出循环法1
      //退出循环法2
      //break;
    }
  }
  return 0;
}

int min1(int x,int y)
{
 for(int i = 1;i<=y;i++)
 {
   if(x*i%y==0)
   {
     printf("%d",x*i);
     return 0;//退出所有的循环
     //退出循环法2
     //break;
   }
 }
 return 0;
}

测试结果:

12 17
1 204
15 6
3 30
21 17
1 357
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值