プログラミング実習II 期末試験・想定問題 [S3] 制御の流れ(2)

プログラミング実習II 期末試験・想定問題 [S3] 制御の流れ(2)


(S3_1) forループを用いて1から10までの値と各値の2乗を下記のように表形式で出力するプログラムを作成したい。以下に加筆することで完成せよ。

#include <stdio.h>

int main(void)
{
    int i;

    printf(" 値   2乗\n");

    for( i = 0;               )
        printf(" %d   %d \n",                 );

    return 0;
}

(S3_2) A君が速度70m/分、B君が速度100m/分で歩く。 キーボードから入力された数字が min であるとき,A君がB君より min 分先に歩き始めたとする。 はじめてB君がA君を完全に追い越した位置関係となるのは何分後かを求めて表示するプログラムを完成せよ。
#include <stdio.h>
int main(void)
{
    int i, min;
    int distance;

    printf("何分前に歩き始めましたか>>> ");
    scanf("%d",&min);



    for( i = 0;                ; i++ ){
        distance = distance - ( 100 - 70 );
    }

    printf("B君は %d 分後にはA君を追い越しています\n", i);

    return 0;
}

(S3_3)下記のプログラムを実行した場合の出力を記せ.

#include <stdio.h>

int main(void)
{
    int i = 0, j, k;
    int a = 1;

    while( a < 10000)
    {
        a = a * 10;
        i++;
    }
    printf("i = %d\n", i);

    k = 0;
    for( j = i; j < 10; j++ )
    {
        k++; /* kはこのforループが回った回数 */
    }
    printf("k = %d\n", k);

    return 0;
}

(S3_4)ある銀行では,預金開始日から1年が経過した日に,その時点での預金残高を500で割った商が利息として上乗せされる.一方,預金開始から経過した年数が3で割り切れる年に限っては,利息の額は預金残高を100で割った商に変更されるという.この時,預金開始時の貯金額を入力させ,20年後までの預金残高を表示するプログラムを完成せよ. ただし,預金は引き出されないものとする.

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

    printf("最初の預金額は>>> ");
    scanf("%d",&init);

    zan = init;
    for( i = 1; i < 20; i++){






        printf("%d 年後の預金残高は %d 円です\n", i, zan );
    }

    return 0;
}

(S3_5) 1<=a<=5, 1<=b<=10(a,bは整数)の範囲すべての組み合わせについて 一次方程式 ax-b=0 の解 x を求めるプログラムを for 文を用いて作成せよ。

#include <stdio.h>

int main(void)
{
    int a, b;
    double sol;




            printf("%dx-%d=0 の解は %f\n", a, b, sol);




    return 0;
}

(S3_6) 1 < i < j < 7 を満たす (i, j) の組をすべて表示するプログラムを for 文の2重ループを用いて作成せよ.

#include <stdio.h>

int main(void)
{
    int i, j;




            printf("(%d, %d)\n", i, j);




    return 0;
}