Note:Your
choice
is
C
IDE
*/
//如何实现简单分数的化简
#include
"stdio.h"
//只要找出最大的因子就行了
辗转相除法
int
gcd(int
n,int
m)
{
int
temp,r
//把大的数放在n里面
if(n<m)
{
temp=n
n=m
m=temp
}
while(m!=0)
{
r=n%m
n=m
m=r
}
return
n
}
void
main()
{
int
a,b//a是分子
b是分母
printf("please
input
a
and
b:")
scanf("%d%d",&a,&b)
printf("%d/%d",a/gcd(a,b),b/gcd(a,b))
}
求加分
#include <iostream>using namespace std
/*最简单的方法就是,分子和分母如果可以同除一个数,那么就约去这个数
直到这个除数大于分子或分母,那么这个分数就是最简的了*/
int main()
{
int n,m,max
cout<<"输入分子:"<<endl
cin>>n
cout<<"输入分母:"<<endl
cin>>m
for(int i=2n>=ii++)
if(n%i==0 &&m%i==0)
{
n/=i
m/=i
i--
}
cout<<n<<"/"<<m<<endl
return 0
}
#include "stdio.h"#include"math.h"
void main()
{
int num
int div
int min
scanf("%d/%d",&num,&div)
if(abs(num)>abs(div)) min=abs(div)
else min=abs(num)
int i,flag=0
for(i=2i<=mini++)
{
if(num%i==0 &&div%i==0)
{
num=num/i
div=div/i
i=1
flag=1
}
if(flag==1){
if(abs(num)>abs(div)) min=abs(div)
else min=abs(num)
flag=0
}
}
printf("%d/%d\n",num ,div)
}考虑了负数
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)