2个回答
展开全部
main()
{
int a,b,num1,num2,temp;
printf("请输入两个正整数:\n");
scanf("%d,%d",&num1,&num2);
if(num1<num2)/*选出较大数*/
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1,b=num2;
while(b!=0)/*辗转取余算法*/
{
temp=a%b;
a=b;
b=temp;
}
printf("它们的最大公约数为:%d\n",a);
printf("它们的最小公倍数为:%d\n",num1*num2/a);/*两数相乘除最大公约数就是最小公倍数*/
}
{
int a,b,num1,num2,temp;
printf("请输入两个正整数:\n");
scanf("%d,%d",&num1,&num2);
if(num1<num2)/*选出较大数*/
{
temp=num1;
num1=num2;
num2=temp;
}
a=num1,b=num2;
while(b!=0)/*辗转取余算法*/
{
temp=a%b;
a=b;
b=temp;
}
printf("它们的最大公约数为:%d\n",a);
printf("它们的最小公倍数为:%d\n",num1*num2/a);/*两数相乘除最大公约数就是最小公倍数*/
}
展开全部
#include<stdio.h>
int main()
{
int fir,sec,high,low;
printf("input m,n:");
scanf("%d%d",&fir,&sec);
while(fir<=0||sec<=0)
{
printf("Error!\n");
printf("input m,n:");
scanf("%d%d",&fir,&sec);
}
(fir>sec)?high=fir,low=sec:high=sec,low=fir;
while(low>=1)
{
if(fir%low==0&&sec%low==0) break;
low--;
}
while(high<=fir*sec)
{
if(high%fir==0&&high%sec==0) break;
high++;
}
printf("最大公约数是:%d\n",low);
printf("最小公倍数是:%d\n",high);
return 0;
}
希望能帮到你~
int main()
{
int fir,sec,high,low;
printf("input m,n:");
scanf("%d%d",&fir,&sec);
while(fir<=0||sec<=0)
{
printf("Error!\n");
printf("input m,n:");
scanf("%d%d",&fir,&sec);
}
(fir>sec)?high=fir,low=sec:high=sec,low=fir;
while(low>=1)
{
if(fir%low==0&&sec%low==0) break;
low--;
}
while(high<=fir*sec)
{
if(high%fir==0&&high%sec==0) break;
high++;
}
printf("最大公约数是:%d\n",low);
printf("最小公倍数是:%d\n",high);
return 0;
}
希望能帮到你~
更多追问追答
追问
一处错误,在第十四行。。。。。。。无法运行啊
追答
呃?我的机子上可以运行啊。。。提示啥错误?
是不是你拷贝的时候出错了?
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询