这个以前写过.
#include<stdio.h>
void man(int x,int y);
void min(int x1,int y1);
main()
{
int a,b;
printf("请分别输入两个数,并以空格隔空\n");
scanf("%d %d",&a,&b);
man(a,b);
min(a,b);
return 0;
}
void man(int x,int y)
{
int p,a,b,i,j;
a=x;b=y;
if(a!=b&&a!=0&&b!=0){
if(a>b)
i=a;
else
i=b;
for(j=1;j<=i;j++)
if(a%j==b%j&&a%j==0&&b%j==0)
p=j;
else
continue;
if(p==1)
printf("没有最大公约数\n");
else
printf("最大公约数为%d\n",p);}
else
{
if(a==0&&b==0)
printf("没意义\n");
else
{ if(a==0||b==0)
printf("没有意义\n");
else{
p=1;
printf("最大公约数为%d\n",p);
}
}
}
}
void min(int x1,int y1)
{
int p,a,b,i,j,a1,b1,t;
a=x1;b=y1;a1=x1;b1=y1;
if(a!=0&&b!=0){
if(a>b)
i=a;
else
i=b;
for(j=1;j<=i;j++)
if(a%j==b%j&&a%j==0&&b%j==0)
{
p=j;
a1=x1/p;b1=y1/p;
t=a1*b1*p;
}
else
continue;
printf("最小公倍数为%d\n",t);}
else
printf("没意义\n");
}