{
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()
}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)