C言語 株の利益を出力する問題です。 問題の入力例で日数を3日 株価100以下の時1株購入 株価200以上の時全株売る 100~200の時は何もしない 初日株価80 2日目80 最終日30 期待する出力結果-100 僕の書いたコードは-

C言語関連33閲覧

ベストアンサー

1

1人がナイス!しています

その他の回答(2件)

1

最終的に保持している㈱は、購入価格と最終日の株価との差額で利益を計算しなければならないですが、以下のように購入価格がマイナスされているのに、最終日の価格がプラスされていません。 if (c[0] >= p_[i]) { num+=1; profit-=p_[i]; }

1人がナイス!しています

1

初日株価80 → 100以下なので1枚購入 0→-80 2日目株価80 → 100以下なので1枚購入 -80→-160 最終日株価30 → 100以下なので1枚購入 -160→-190 結果、株3枚保持、現金-190になります。 3日目の株価×保持株数を利益に加えたら -190 + 30*3 = -100になります。 なので、 profit += p_[N-1] * num; whileループ終了後、つまりprintf()の前に加えればOKです。

1人がナイス!しています