C语言中怎样约分

C语言中怎样约分,第1张

main()

{

    int den,num,temp,x=0

    printf("请输入分子!")

    scanf("%d",&num)

    printf("请输入分母!")

    scanf("%d",&den)

    if(num!=den)

    {temp=den>num?den:num

         while(temp>1)

        {

            if(den%temp==0&&num%temp==0)

                {

                    printf("有公约数%d,约分后=%d/%d",temp,num/temp,den/temp)

                    x=1

                    break

                }

            else temp--

        }

    }

    else printf("分子分母相同")

    if(x==0) printf("不能约分")

}

你如果要的是这个的话

Private Sub Form_Click()

m = 6

n = 14

Print "约分前的分数表示为:" &m"/" &n

If m >0 And n >0 Then

a = m

b = n

res = b Mod a

Do While (res <>0)

b = a

a = res

res = b Mod a

Loop

Print "约分后的分数表示为:" &m / a"/" &n / a

Else

Print "结果为:0"

End If

End Sub

约分函数按这你样的写法,在里面再写两句SetNumerator(a)SetDenominator(b)

基本就可以把约分函数当成构造函数了

如果想让约分函数在类外面可以调用的话,约分函数根本没必要带参数,里面的再次赋值完全是多此一举,完全可以在约分函数里面去调用私有变量,假如numer,denom就是私有变量名,那么这个函数可以写成

void Rational::Reduce() {

int tmp=gcd(numer, denom)

numer/=tmp

denom/=tmp

}

这样在构造函数里面

Rational::Rational(int numer, int denom) {

//构造函数

SetNumerator(a)

SetDenominator(b)

Reduce()

}


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/11606599.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-17
下一篇 2023-05-17

发表评论

登录后才能评论

评论列表(0条)

保存