第1回:リハビリ

 

演習課題

(1)ヤード・ポンド法における長さの単位であるマイルは、陸上の距離では1マイル=1,609.344メートル、海上や空中では1マイル=1,852メートル(海里と表記)である。1キロメートルから100キロメートルまで1キロメートル毎の、キロメートルとマイル、キロメートルと海里の関係を画面に表示するプログラムを作成せよ。

#include <stdio.h>
void main()
{
    int i;

    for(i=1; i<=100; i++){
        printf("%dキロメートル:%fマイル:%f海里¥n", i, i/1.609344, i/1.852);
    }
}

(2)100個の整数を大きい順にキーボードから入力すると、100個の値それぞれの順位と平均値との差を表示するプログラムを作成せよ。順位は、同点の場合同じ順位とし、同点の数だけ以降の順位を繰り下げるものとする。平均値との差は、平均値より大きい場合は正の値、小さい場合は負の値となるようにする。

#include <stdio.h>
void main()
{
    int i, sum=0; n[100], grade=1;
    float avg;

    /* キーボードから100個の値を配列に読み込み,合計を求める */
    for(i=0; i<100; i++){
        scanf("%d", &n[i]);
        sum+=n[i];
    }

    /* 平均値の計算と表示 */
    avg=(float)sum/100;
    printf("平均値:%f¥n", avg);

    /* 各値の順位を求めながら,結果表示 */
    for(i=0; i<100; i++){
        /* 一つ前の値と比べて,違えば順位を+1 */
        if(n[i]!=n[i-1]){
            grade=i+1;
        }
        /* 結果表示 */
        printf("順位:%d 値:%d 差:%f¥n", grade, n[i], n[i]-avg);
    }

}