首页 > 代码库 > 武汉科技大学ACM :1007: 华科版C语言程序设计教程(第二版)习题5.7
武汉科技大学ACM :1007: 华科版C语言程序设计教程(第二版)习题5.7
Problem Description
这天老师给小豪出了一道很简单题目放松:输入一个分数,让你求出它们的最简分数。
Input
第一行包括一个T,表示测试数据的组数。
接下来T行每行包括一个分数。(分子分母均在int范围内)
Output
对于每个测试样例,输出一行其最简分数。
Sample Input
32/63/111/36
Sample Output
1/33/111/36
我的代码:
1 #include <stdio.h> 2 process(int a ,int b)/*求最大公约数,以便约分的函数*/ 3 { 4 int c; 5 while(b!=0) 6 { 7 c=a%b; 8 a=b; 9 b=c;10 }11 return a;12 }13 14 void main()15 {16 int n,i,a,b,min;17 scanf("%d",&n);18 for(i=0;i<n;i++)19 {20 scanf("%d/%d",&a,&b);21 min=process(a,b);22 printf("%d/%d\n",a/min,b/min);23 }24 }
其他代码:
1 #include <iostream> 2 3 using namespace std; 4 int mgcd(int a,int b) 5 { 6 7 int t; 8 if(a<b) 9 {10 11 t=a;a=b;b=t;12 }13 while(a%b)14 {15 t=b;16 b=a%b;17 a=t;18 }19 return b;20 }21 22 int main()23 {24 int a,b,t;25 char ch;26 int count=0;27 int T;28 cin>>T;29 while(cin>>a>>ch>>b)30 {31 ++count;32 t=mgcd(a,b);33 a /= t;34 b /= t;35 cout<<a<<"/"<<b<<endl;36 if(count==T)37 {38 break;39 }40 }41 42 return 0;43 }
武汉科技大学ACM :1007: 华科版C语言程序设计教程(第二版)习题5.7
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。