• 締切済み

高校のC言語宿題です

「100万円を複利8%で借り入れし、毎年10万円ずつ返す。 毎年の借金の状況を示すプログラムfor文を用いて作成せよ。」 こんにちは。 上の文章はプログラミングの授業の課題です。 1人で一応作成はできたのですが、 「for文」を用いるという条件を突き付けられ悩んでいます。 皆さんならどのようなプログラムを組みますか? 自分が作ったものと比べ、参考にしたいと思います。 よろしくお願いします。

みんなの回答

回答No.5

むしろ、for を使わずに作成したというそのプログラムが見てみたい気がします。 そっちの方がむしろ難しいのじゃないかなと。 余談ですが、数十年前に似たいような問題(n年で返すのには、返済額はいくらになるか?)半日くらいかかって、数列の硬式を思い出しながら、最終的には、単純な一次式で計算できました。 そのプログラムを渡してから、 ・返済額を仮に決める ・それでシミュレーションしてみる ・過不足があったら、仮の返済額を修正せいてもう一度。 というロジックでプログラム組んだほうが遙かに楽じゃないかと、ひとしきり後悔した記憶があったりします。

回答No.4

「複利8%で借り入れ」ってどういうこと?

  • jjon-com
  • ベストアンサー率61% (1599/2592)
回答No.3

C言語はよく知らないので,Java言語でコーディングしてみました。 class Q7796047 { public static void main(String[] args) { int n = 1_000_000; for (int i = 1; n > 0; i++) { n = (int)Math.ceil(n * 1.08); if (n > 100_000) { n = n - 100_000; } else { n = n - n; } System.out.println(i + "年目の残金 " + n + "円"); } } }

  • tomoac
  • ベストアンサー率12% (21/168)
回答No.2

for文を難解な条件ととらえているようですが、for文を使えば簡単にできますよ、というとても親切なヒントです。

回答No.1

double remain = 1000000.0; /* 借金残額 */ int n; for ( n = 0; 満額返済するまで; ++n ) {  remain = remain*利率 - 返済額;  n年目の借金を表示する }

関連するQ&A