首页 > 代码库 > 武汉科技大学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