這道題大慨我做了兩個多小時,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結束 輸入資料保證合法 輸出 對於輸入資料的每一行輸出...