next up previous contents
Next: 5. 入力の読み込みと制御構造 Up: 4. 制御構造1 繰り返し(for文) Previous: 3. ソースプログラムの書き方

4. 課題 4

cd c を実行した後で( ~/c に移動した後で)、以下の課題を やってみよ。

課題 4.1
簡単な繰り返し

以下のプログラムを実行してみよ。


/* kadai 4.1 */
#include <stdio.h>

main()
{
        int i;
        for ( i=0; i<10; i=i+1 ){
                printf("こんにちは。\n");
        }
}

課題 4.2
倍数の表示

11の倍数で、1以上200以下のものを全て表示するプログラムを作れ。

課題 4.3
足し算をしてみる。

1から100までの数を全て足し、結果のみを表示するプログラムを for 文を用いて作成し、実行してみよ。 結果は、5050にならなければならない。

課題 4.4
お自動さんの恐怖!?

消費者金融でお金を借りるとしよう。 50万円のお金を借りたが、毎月の返済がなかなか出来ない内に 2年経ってしまったところで、全額一度に返そうとした。 毎月の返済をしてなかった時には、金利は複利で月に10% になってしまう。 さて幾ら返せば良いのだろうか?

計算は、単純な複利で計算するものとし、1円未満は切り捨てとする。

参考 毎月の金利がついた後の返済残高は、返済金額を x とすると、    x = x * 1.1; で求められる。

課題 4.5
車をローンで買う

中古車をローンで買うことに決めた。中古車の値段は90万円であった。 金利は複利で年3%なので、2年で返済する場合は、90万円プラス2年間分の 金利を24ヶ月で支払うことになる。毎月の支払いを 2万円以内にするには、何年支払わなければならないか? また、毎月の 返済額を表示せよ。但し、支払い期間は年単位で考えよ。

 

ヒント 以下のプログラムを参考にせよ。但し、... には適当なプログラム が入るものとする。


    int year, car, maituki, hensai;
    car = 500000;       /* 車の値段 */
    maituki = 20000;    /* 毎月の支払いは2万円以下 */

    /* 一年づつ返済期間を増やしていく */
    for ( year=1; ; year=year+1){
        car = car * 1.03;    /* 車の値段に金利を掛けたものが支払額 */
        hensai = ...;        /* 1ヶ月の返済金額を求める */
        if ( ... ) {         /* 1ヶ月の返済金額が限度内ならば */
                break;       /* ループを終る */
        }
    }
    ...                      /* 結果を表示する */

作成したプログラムと解答をメイルで、creport まで送ること。但し、題は kadai04 と すること。

前回の復習
  1. 繰り返し
    for 文には、次の3要素が必要であるが、省略することもできる。

  2. for 文の書式
    
                for ( 初期化 ; 継続条件 ; 再初期化 ){
                            文
                    }
    
    3要素の区切り記号であるセミコロン(;)は省略できない。

  3. for 文の流れ
    1. 初期化
    2. 継続条件の判定 偽(0)ならば、(f) へ。
    3. 文の実行
    4. 再初期化
    5. (b) へ
    6. 繰り返しの終了



Noriyo Kanayama