重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
程序运行过程:
创新互联公司从2013年创立,是专业互联网技术服务公司,拥有项目成都网站建设、成都网站制作网站策划,项目实施与项目整合能力。我们以让每一个梦想脱颖而出为使命,1280元新洲做网站,已为上家服务,为新洲各地企业和个人服务,联系电话:18982081108
接受用户输入两个数, 第一个是分子, 第二个是分母.
输出结果,并等待下一轮.
两个数中任意一个为0, 则程序立即退出.
#includestdio.h
#includeconio.h
main()
{
int iNum,iDeno,iMod,iMin;
iNum=iDeno=1;
while(iNum!=0 iDeno!=0)
{
printf("Please input the numerator and the denominator:\n");
scanf("%i%i",iNum,iDeno);
if (iNum==0 || iDeno==0)
continue;
if (iNumiDeno)
iMin=iNum;
else
iMin=iDeno;
for (int i=2;i=iMin;i++)
{
if (iiNum || iiDeno)
break;
if (iNum%i==0 iDeno%i==0)
{
iNum/=i;
iDeno/=i;
i=1;
}
}
printf("\n%i\n----\n%i\n",iNum,iDeno);
getch();
}
}
以下一段程序是循环运行的,即,
得出结果后继续下一轮接受用户输入.
任何一个数为0
则退出.
程序运行过程:
接受用户输入两个数,
第一个是分子,
第二个是分母.
输出结果,并等待下一轮.
两个数中任意一个为0,
则程序立即退出.
#include
#include
main()
{
int
iNum,iDeno,iMod,iMin;
iNum=iDeno=1;
while(iNum!=0
iDeno!=0)
{
printf("Please
input
the
numerator
and
the
denominator:\n");
scanf("%i%i",iNum,iDeno);
if
(iNum==0
||
iDeno==0)
continue;
if
(iNum
iNum
||
iiDeno)
break;
if
(iNum%i==0
iDeno%i==0)
{
iNum/=i;
iDeno/=i;
i=1;
}
}
printf("\n%i\n----\n%i\n",iNum,iDeno);
getch();
}
}
此即为求两个数的最大公约数
最大公约数用欧几里得算法
int gcd(int a, int b)
{
if(0 == a%b)
return b;
return gcd(b, a%b);
}
int main()
{
int a,b,c;
scanf("%d %d", a, b);
c = gcd(MAX(a,b), MIN(a,b));
printf("%d %d\n", a/c, b/c);
return 0;
}