输入两个数m和n,求其最大公约数和最小公倍数。 若输入的数中有不是正整数的数,则输出错误信息

img

#include <stdio.h>
int main()
{
    int m,n,tp;
    int i,gbs;
    scanf("%d %d",&m,&n);
    if(m<=0 || n<=0)
    {
        printf("输入必须为正整数");
        return 0;
    }
    tp = m>n? n:m;
    for (i=tp;i>=1;i--)
    {
        if(m%i==0 && n%i==0)
            break;
    }
    printf("%d和%d的最大公约数是%d\n",m,n,i);
    printf("%d和%d的最小公倍数是%d\n",m,n,m*n/i);
    return 0;
}


 #include "stdio.h"
#include "conio.h"
main()
{
  int a,b,num1,num2,temp;
  printf("please input two numbers:\n");
  scanf("%d,%d",&num1,&num2);
  if(num1<num2)
  {
    temp=num1;
    num1=num2;
    num2=temp;
  }
  a=num1;b=num2;
  while(b!=0)/*利用辗除法,直到b为0为止*/
  {
    temp=a%b;
    a=b;
    b=temp;
  }
  printf("gongyueshu:%d\n",a);
  printf("gongbeishu:%d\n",num1*num2/a);
  getch();
}