如何用C语言,实现简单的分数化简

如何用C语言,实现简单的分数化简,第1张

/*

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)

}考虑了负数


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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存