ページ 1 / 1
質問です
Posted: 2009年6月09日(火) 18:34
by ユーリ
これは学校の課題なのですが
「お金を貯金したい。最初の月は一円、次の月は2円、その次の月は4円と前の月の倍額を毎月貯金していく。
合計金額が100万を超えるのは何カ月目になるか、毎月ためる金額と貯金額を表示するプログラムを作成しなしい(while文)」という問題なんですが
while文をどのように組み合わせていくのかわかりません
基本的なことはわかっています。
プログラムの流れについてヒントを頂けませんか?
Re:質問です
Posted: 2009年6月09日(火) 18:41
by lbfuvab
貯める額をループごとに倍にして合計に足していけばいいと思いますよ。
int sum=0,i=1;
while(終了条件){
sum+=i;
i*=2;
}
Re:質問です
Posted: 2009年6月09日(火) 18:43
by 初級者
基本的なことに、while文を含んでいないのでしょうか?
私にしてみれば、じゅうぶん基本的なことだと思います。
Re:質問です
Posted: 2009年6月09日(火) 21:05
by conio
とりあえず、作ってみました。
日本語で書いてあるところを、どうにかすれば完成するようになってます。
参考程度にどうぞ。
----------------------------------------------------------------------------------
int sum = 0, benefit = 1, month = 1;
while(//終了条件){
//貯金額に、一ヶ月に貯めた金額を足す処理//
printf("【%3dヶ月目】 貯金額:%7d円, 今月貯めた金額:%6d\n",month,sum,i);
//利益を2倍にする処理//
//一ヶ月経過させる処理//
}
----------------------------------------------------------------------------------
無題
Posted: 2009年6月09日(火) 21:11
by ユーリ
ありがとうございます。
頑張ってみます
Re:無題
Posted: 2009年6月09日(火) 22:10
by ユーリ
1,2,4,8・・・・・と表示するにはどうしたらいいですかね?
Re:無題
Posted: 2009年6月09日(火) 22:31
by MNS
conioさんのコードのように、
ループ毎にprintf等で金額を出力すればいいと思いますが。
Re:無題
Posted: 2009年6月09日(火) 22:37
by 通りすがり
ユーリさんの言っている「基本的なことはわかっています。」は
どんな事を意味してるんでしょうか?
Re:無題
Posted: 2009年6月09日(火) 23:05
by ユーリ
基本的というよりは基礎的なことです。
といっても基礎の基礎がわかってるくらいですかね。
一向に進む気配がないですし
Re:無題
Posted: 2009年6月10日(水) 01:41
by ユーリ
貯金額に、一ヶ月に貯めた金額を足す処理
これがいまいちわからいのですがどうすればいいのですか?
Re:無題
Posted: 2009年6月10日(水) 02:15
by b
金額を足す処理というのは、プログラムで足し算を行う処理です。これが分からないということは、基礎の基礎がわかってないということです。
上の書き込みにもあるように、課題を解く手順は既に示されています。
一度課題から離れて、文法を調べてみてはいかがでしょう?
Re:無題
Posted: 2009年6月10日(水) 10:48
by 通りすがり
Re:無題
Posted: 2009年6月10日(水) 11:28
by やそ
こたえは全て出ています。
>「お金を貯金したい。最初の月は一円、次の月は2円、その次の月は4円と前の月の倍額を毎月貯金していく。
合計金額が100万を超えるのは何カ月目になるか、毎月ためる金額と貯金額を表示するプログラムを作成しなしい
毎月ためた金額(1からはじまり前月の倍額)
貯金合計
経過月数
100万円を越えるまで
が出ているのですから。
whileの()の中身は継続条件を書きます。つまり100万円以下なら続けるよということ。
経過月数は1づつ増えていけばいいですよね。
今月ためた金額は前月ためた金額の2倍(どうやって稼ぐんだ?丁半ばくちか?(笑))
貯金合計は前月までの合計+今月ためた金額
それぞれ画面?に表示
を繰り返せばいいのではないでしょうか?
Re:無題
Posted: 2009年6月10日(水) 15:48
by conio
>>貯金額に、一ヶ月に貯めた金額を足す処理
>>これがいまいちわからいのですがどうすればいいのですか?
上のほうでプログラムを書いたのですが、
補足しておきますと、言葉と変数は 下記のように対応します。
-----------------------------------
貯金額 = sum
一か月に貯めた金額 = benefit
-----------------------------------
なので、sum に benefit を足す式を書けばよいということになります。
Re:無題
Posted: 2009年6月10日(水) 18:38
by ユーリ
ありがとうございました。
解決しました