c语言中求两个正整数的最大公约数和最小公倍数的做法

2025-02-06 18:46:36
推荐回答(1个)
回答1:

 #include "stdio.h" 
int main(){
{
   int a,b,temp,max=1,min;
    printf("输入两个整数\n");
    scanf("%d%d",&a,&b);
    if(a>b)
    {temp=a;a=b;b=temp;]
    for(i=1;i<=a;i++)
    {
      if(a%i==0&&b%i==0)
      {
        if(max      }
    }
    printf("最大公约数是%d",max);
    min=a*b;
    for(i=b;i<=a*b;i++)
    {
      if(i%a==0&&i%b==0)
      {
        if(min>i)min=i;
      }
    }
    printf("最小公倍数是%d",min);
   return 0;
 }

 上面有点小问题

#include "stdio.h"
 int main()
{  
   int a,b,temp,max=1,min,i;
   printf("输入两个整数\n");
   scanf("%d%d",&a,&b);
   if(a>b)
   {temp=a;a=b;b=temp;}
   for(i=1;i<=a;i++)
     if(a%i==0&&b%i==0)
  {
      if(max   max=i;
     }
   printf("最大公约数是%d",max);
   min=a*b;
   for(i=b;i<=a*b;i++)
   {
     if(i%a==0&&i%b==0)
       {
        if(min>i)min=i;
     }
     }
     printf("最小公倍数是%d",min);  
     return 0;
     }