欢迎来到尧图网

客户服务 关于我们

您的位置:首页 > 房产 > 家装 > 编程题 7-24 约分最简分式【PAT】

编程题 7-24 约分最简分式【PAT】

2024/10/23 23:31:50 来源:https://blog.csdn.net/qq_41918107/article/details/143141917  浏览:    关键词:编程题 7-24 约分最简分式【PAT】

文章目录

  • 题目
    • 输入格式
    • 输出格式
    • 输入样例
    • 输出样例
  • 题解
    • 解题思路
    • 完整代码

编程练习题目集目录

题目

  分数可以表示为分子/分母的形式。编写一个程序,要求用户输入一个分数,然后将其约分为最简分式。最简分式是指分子和分母不具有可以约分的成分了。如 6 / 12 6/12 6/12 可以被约分为 1 / 2 1/2 1/2。当分子大于分母时,不需要表达为整数又分数的形式,即 11 / 8 11/8 11/8 还是 11 / 8 11/8 11/8;而当分子分母相等时,仍然表达为 1 / 1 1/1 1/1 的分数形式。

输入格式

  输入在一行中给出一个分数,分子和分母中间以斜杠/分隔,如: 12 / 34 12/34 12/34 表示 34 34 34 分之 12 12 12。分子和分母都是正整数(不包含 0 0 0,如果不清楚正整数的定义的话)。
提示:在 s c a n f scanf scanf 的格式字符串中加入 / / /,让 s c a n f scanf scanf 来处理这个斜杠。

输出格式

  在一行中输出这个分数对应的最简分式,格式与输入的相同,即采用 分子 / 分母 分子/分母 分子/分母 的形式表示分数。如 5 / 6 5/6 5/6 表示 6 6 6 分之 5 5 5

输入样例

66/120

输出样例

11/20

题解

解题思路

  先用 s c a n f ( ) scanf() scanf() 函数控制输入,然后判断分子和分母哪个小,从 2 2 2 开始,寻找分子和分母的最小公约数,然后将分子和分母分别约分,知道小于分子和分母其中最小的一个数为止,然后输出结果即可。

完整代码

#include<iostream>
#include<stdio.h>using namespace std;
int main(void)
{int x, y, min;printf("请输入一个分数:");         // 提交时注释此行scanf("%d/%d", &y, &x);min = y > x ? x : y;for (int i = 2; i <= min; i++){if (x % i == 0 && y % i == 0){x /= i;y /= i;min = y > x ? x : y;i = 1;}}cout << y << "/" << x;return 0;
}

版权声明:

本网仅为发布的内容提供存储空间,不对发表、转载的内容提供任何形式的保证。凡本网注明“来源:XXX网络”的作品,均转载自其它媒体,著作权归作者所有,商业转载请联系作者获得授权,非商业转载请注明出处。

我们尊重并感谢每一位作者,均已注明文章来源和作者。如因作品内容、版权或其它问题,请及时与我们联系,联系邮箱:809451989@qq.com,投稿邮箱:809451989@qq.com