nyoj111分數加減法

2021-08-08 23:30:57 字數 1169 閱讀 4063

這道題大慨我做了兩個多小時,wa了好幾次,最後才找出問題出在哪,

1:我沒有考慮到分子可以整除分母,這時應該輸出乙個整數,而我一直輸出分式,這就必錯無疑了。

2:剛開始沒考慮到要化簡,導致錯誤。

3:不明白它的以eof結尾是什麼意思,事實上有兩種方式,一種是c中的

char s[1000];

while(scanf(「%s」,s)!=eof)

還有一種就是c++中的

string a;

while(cin>>a)

這樣的自己會判斷是不是文件末尾,很是方便。

3還有乙個就是輾轉相減法複習一下,總的來說,這道題還是挺不錯的

int qiu(int a,int b)

returna;

}

描述

編寫乙個c程式,實現兩個分數的加減法

輸入

輸入包含多行資料

每行資料是乙個字串,格式是」a/boc/d」。

其中a, b, c, d是乙個0-9的整數。o是運算子」+」或者」-「。

資料以eof結束

輸入資料保證合法

輸出

對於輸入資料的每一行輸出兩個分數的運算結果。

注意結果應符合書寫習慣,沒有多餘的符號、分子、分母,並且化簡至最簡分數

樣例輸入

1/8+3/8

1/4-1/2

1/3-1/3

樣例輸出

1/2

-1/4

0

**

水題比賽

上傳者

hzyqazasdf

#include

#include

using

namespace

std;

int qiu(int x,int y)

return x;

}using

namespace

std;

int main()

//判斷是否為乙個整數

if(fenzhi%m==0)cout

nyoj 111 分數加減法

分數加減法 時間限制 3000 ms 記憶體限制 65535 kb 難度 2 描述 編寫乙個c程式,實現兩個分數的加減法 輸入輸入包含多行資料 每行資料是乙個字串,格式是 a boc d 其中a,b,c,d是乙個0 9的整數。o是運算子 或者 資料以eof結束 輸入資料保證合法輸出對於輸入資料的每一...

NYOJ 111 分數加減法

時間限制 1000 ms 記憶體限制 65535 kb 難度 2描述 編寫乙個c程式,實現兩個分數的加減法輸入 輸入包含多行資料 每行資料是乙個字串,格式是 a boc d 其中a,b,c,d是乙個0 9的整數。o是運算子 或者 資料以eof結束 輸入資料保證合法 輸出對於輸入資料的每一行輸出兩個分...

NYOJ 111 分數加減法

時間限制 1000 ms 記憶體限制 65535 kb 難度 2 描述 編寫乙個c程式,實現兩個分數的加減法 輸入 輸入包含多行資料 每行資料是乙個字串,格式是 a boc d 其中a,b,c,d是乙個0 9的整數。o是運算子 或者 資料以eof結束 輸入資料保證合法 輸出 對於輸入資料的每一行輸出...