编写c语言程序,实现分数的约分

来源:百度知道 编辑:UC知道 时间:2024/05/25 00:57:00

以下一段程序是循环运行的,即, 得出结果后继续下一轮接受用户输入.
任何一个数为0 则退出.

程序运行过程:
接受用户输入两个数, 第一个是分子, 第二个是分母.
输出结果,并等待下一轮.
两个数中任意一个为0, 则程序立即退出.

#include<stdio.h>
#include<conio.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 (iNum<iDeno)
iMin=iNum;
else
iMin=iDeno;

for (int i=2;i<=iMin;i++)
{
if (i>iNum || i>iDeno)
break;

if (iNum%i==0 && iDeno%i==0)
{
iNum/=i;
iDeno/=i;
i=1;
}
}

printf("\n%i\n----\n%i\n",iNum,iDeno);
getch();
}

}

???

不明白...

辗转相除法

perject - 见习魔法师 三级 给的就是啊,不