質問です

フォーラム(掲示板)ルール
フォーラム(掲示板)ルールはこちら  ※コードを貼り付ける場合は [code][/code] で囲って下さい。詳しくはこちら
ユーリ

質問です

#1

投稿記事 by ユーリ » 16年前

これは学校の課題なのですが
「お金を貯金したい。最初の月は一円、次の月は2円、その次の月は4円と前の月の倍額を毎月貯金していく。
合計金額が100万を超えるのは何カ月目になるか、毎月ためる金額と貯金額を表示するプログラムを作成しなしい(while文)」という問題なんですが
while文をどのように組み合わせていくのかわかりません
基本的なことはわかっています。
プログラムの流れについてヒントを頂けませんか?

lbfuvab

Re:質問です

#2

投稿記事 by lbfuvab » 16年前

貯める額をループごとに倍にして合計に足していけばいいと思いますよ。
int sum=0,i=1;

while(終了条件){
  sum+=i;
  i*=2;
}

初級者

Re:質問です

#3

投稿記事 by 初級者 » 16年前

基本的なことに、while文を含んでいないのでしょうか?

私にしてみれば、じゅうぶん基本的なことだと思います。

conio

Re:質問です

#4

投稿記事 by conio » 16年前

とりあえず、作ってみました。
日本語で書いてあるところを、どうにかすれば完成するようになってます。
参考程度にどうぞ。

----------------------------------------------------------------------------------
int sum = 0, benefit = 1, month = 1;
while(//終了条件){
  //貯金額に、一ヶ月に貯めた金額を足す処理//
  printf("【%3dヶ月目】 貯金額:%7d円, 今月貯めた金額:%6d\n",month,sum,i);
  //利益を2倍にする処理//
  //一ヶ月経過させる処理//
}
----------------------------------------------------------------------------------

ユーリ

無題

#5

投稿記事 by ユーリ » 16年前

ありがとうございます。
頑張ってみます

ユーリ

Re:無題

#6

投稿記事 by ユーリ » 16年前

1,2,4,8・・・・・と表示するにはどうしたらいいですかね?

MNS

Re:無題

#7

投稿記事 by MNS » 16年前

conioさんのコードのように、
ループ毎にprintf等で金額を出力すればいいと思いますが。

通りすがり

Re:無題

#8

投稿記事 by 通りすがり » 16年前

ユーリさんの言っている「基本的なことはわかっています。」は
どんな事を意味してるんでしょうか?

ユーリ

Re:無題

#9

投稿記事 by ユーリ » 16年前

基本的というよりは基礎的なことです。
といっても基礎の基礎がわかってるくらいですかね。
一向に進む気配がないですし

ユーリ

Re:無題

#10

投稿記事 by ユーリ » 16年前

貯金額に、一ヶ月に貯めた金額を足す処理
これがいまいちわからいのですがどうすればいいのですか?

b

Re:無題

#11

投稿記事 by b » 16年前

金額を足す処理というのは、プログラムで足し算を行う処理です。これが分からないということは、基礎の基礎がわかってないということです。
上の書き込みにもあるように、課題を解く手順は既に示されています。
一度課題から離れて、文法を調べてみてはいかがでしょう?

通りすがり

Re:無題

#12

投稿記事 by 通りすがり » 16年前

(管理人により記事が修正されました)

以下、マルチポスト先と思われるURLです。

http://detail.chiebukuro.yahoo.co.jp/qa ... 1127091451

やそ

Re:無題

#13

投稿記事 by やそ » 16年前

こたえは全て出ています。
>「お金を貯金したい。最初の月は一円、次の月は2円、その次の月は4円と前の月の倍額を毎月貯金していく。
合計金額が100万を超えるのは何カ月目になるか、毎月ためる金額と貯金額を表示するプログラムを作成しなしい

毎月ためた金額(1からはじまり前月の倍額)
貯金合計
経過月数
100万円を越えるまで

が出ているのですから。

whileの()の中身は継続条件を書きます。つまり100万円以下なら続けるよということ。
経過月数は1づつ増えていけばいいですよね。
今月ためた金額は前月ためた金額の2倍(どうやって稼ぐんだ?丁半ばくちか?(笑))
貯金合計は前月までの合計+今月ためた金額
それぞれ画面?に表示

を繰り返せばいいのではないでしょうか?

conio

Re:無題

#14

投稿記事 by conio » 16年前

>>貯金額に、一ヶ月に貯めた金額を足す処理
>>これがいまいちわからいのですがどうすればいいのですか?


上のほうでプログラムを書いたのですが、
補足しておきますと、言葉と変数は 下記のように対応します。
-----------------------------------
貯金額 = sum
一か月に貯めた金額 = benefit
-----------------------------------

なので、sum に benefit を足す式を書けばよいということになります。

ユーリ

Re:無題

#15

投稿記事 by ユーリ » 16年前

ありがとうございました。
解決しました

閉鎖

“C言語何でも質問掲示板” へ戻る