zl程序教程

您现在的位置是:首页 >  后端

当前栏目

C语言实现约分最简分式

C语言 实现 最简
2023-06-13 09:15:14 时间

大家好,又见面了,我是你们的朋友全栈君。

题目要求: 分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如6/12可以被约分为1/2。当分子大于分母时,不需要表达为整数又分数的形式,即11/8还是11/8;而当分子分母相等时,仍然表达为1/1的分数形式。 输入格式: 输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如:12/34表示34分之12。分子和分母都是正整数(不包含0,如果不清楚正整数的定义的话)。 提示:在scanf的格式字符串中加入/,让scanf来处理这个斜杠。 输出格式: 在一行中输出这个分数对应的最简分式,格式与输入的相同,即采用分子/分母的形式表示分数。如 5/6表示6分之5。 输入样例: 66/120 输出样例: 11/20

#include"stdio.h"
int min(int x,int y);//判断分子与分母之间的大小;
int main()
{ 
   
int fz,fm,i=1;  // i为分子分母公因数,从1开始;
scanf("%d/%d",&fz,&fm);   
do      
{ 
   i++;    
if(fz%i==0&&fm%i==0)   //判断条件是i此时为分子与分母的公因数;
{ 
        
fz=fz/i;      
fm=fm/i;     
i=1;  //循环判断时让i恢复初始值重复循环;
}      
}while(i<min(fz,fm)); // 截至条件是公因数不能大于其本身;
printf("%d/%d",fz,fm);   
return 0;
}
int min(int x,int y)
{ 
    if(x>=y)   
return y;  
else   
return x;
}

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/209987.html原文链接:https://javaforall.cn