#41753: c++,為什麼會跑出科學記號


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [223.136.74.105]
最後登入時間 :
2024-12-27 14:56:24
f637. DF-expression -- APCS201810程式實作題3 | From: [61.231.9.165] | 發表日期 : 2024-08-23 23:20

遞迴的方式長這樣:

double analyze() {
    char ch = cin.get();
    if (ch == '1') return 1;
    if (ch == '2') return (analyze() + analyze() + analyze() + analyze()) / 4;
    return 0;
}

主函式就讀取邊長平方後,乘上遞迴結果,最後輸出而已。

為什麼在測資#14、#17、#18的地方會輸出1.04858e+06,而不能好好輸出1048576和1048575?QQ

 
#41755: Re: c++,為什麼會跑出科學記號


henry.rem.rem@gmail.com (*ฅ́˘ฅ̀*)

學校 : 臺北市立松山高級中學
編號 : 278368
來源 : [223.136.74.105]
最後登入時間 :
2024-12-27 14:56:24
f637. DF-expression -- APCS201810程式實作題3 | From: [61.231.9.165] | 發表日期 : 2024-08-24 11:44

遞迴的方式長這樣:

double analyze() {
    char ch = cin.get();
    if (ch == '1') return 1;
    if (ch == '2') return (analyze() + analyze() + analyze() + analyze()) / 4;
    return 0;
}

主函式就讀取邊長平方後,乘上遞迴結果,最後輸出而已。

為什麼在測資#14、#17、#18的地方會輸出1.04858e+06,而不能好好輸出1048576和1048575?QQ


沒事我想到了

用to_string()就好(´・ω・`)

 
ZeroJudge Forum