程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> C語言 >> C++ >> C++入門知識 >> 實驗11:Problem A: 分數類的輸出,11problem

實驗11:Problem A: 分數類的輸出,11problem

編輯:C++入門知識

實驗11:Problem A: 分數類的輸出,11problem


注意如果是負數,要把負號放在分子上

Home Web Board ProblemSet Standing Status Statistics   Problem A: 分數類的輸出

Problem A: 分數類的輸出

Time Limit: 3 Sec  Memory Limit: 128 MB
Submit: 1453  Solved: 574
[Submit][Status][Web Board]

Description

封裝一個分數類Fract,用來處理分數功能和運算,支持以下操作:   1. 構造:傳入兩個參數n和m,表示n/m;分數在構造時立即轉化成最簡分數。 2. show()函數:分數輸出為“a/b”或“-a/b”的形式,a、b都是無符號整數。若a為0或b為1,只輸出符號和分子,不輸出“/”和分母。   -----------------------------------------------------------------------------   你設計一個Fract類,使得main()函數能夠運行並得到正確的輸出。調用格式見append.cc  

 

Input

輸入多行,每行兩個整數,分別為分子和分母,至EOF結束。輸入的分母不會為0;  

 

Output

每行輸出一個分數,與輸入順序一致。   分數輸出時為最簡形式,負號只會出現在最前面,若分母為1或分子為0,則只輸出一個整數,即分子部分,而沒有“/”和分母部分。

 

Sample Input

1 3 20 -15 80 150 -9 1 6 6 12 16 -33 -48 6 11 0 -10

Sample Output

1/3 -4/3 8/15 -9 1 3/4 11/16 6/11 0

HINT

 

Append Code

append.c, append.cc,
[Submit][Status][Web Board]

한국어<   中文  فارسی  English  ไทย
All Copyright Reserved 2010-2011 SDUSTOJ TEAM
GPL2.0 2003-2011 HUSTOJ Project TEAM
Anything about the Problems, Please Contact Admin:admin

#include<iostream>
#include<cmath>
using namespace std;
int gcd(int a,int b){
    if(!b)
        return a;
    return gcd(b,a%b);
}
class Fract{
public:
    int n,m;
    Fract(int a,int b):n(a),m(b)
    {
        int Max,Min,c,x,y;
        if(a<0) a*=-1;
        if(b<0) b*=-1;
        c=gcd(max(a,b),min(a,b));

        if(m<0)
        {
            n*=-1;
            m*=-1;
        }
        if(c!=1)
        {
            n/=c;
            m/=c;
        }
    }
    void show()
    {
        if(n==0||m==1)
            cout<<n<<endl;
        else
        {
            cout<<n<<"/"<<m<<endl;
        }
    }
};

#include <cstdio>
int main()
{
    int n, m;
    while(cin >> n >> m)
    {
        Fract fr(n, m);
        fr.show();
    }
}

 

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved