2015 年度プログラミング・中間テスト・解答例

全体

ペーパーテスト

  1. 問1:

    次のプログラムは一つの整数値を読み込んで、 それを整数として 3 で割った値と 実数として 3 で割った値を表示するプログラムである。 例えば、10 を入力すると、

        それを整数として 3 で割った値は 3 です。
        それを実数として 3 で割った値は 3.333333 です。
    

    と出力する。 空欄を埋めて、プログラムを完成せよ。

    int main(void) {
        int k;
        printf("整数を入力して下さい: ");
        scanf("%d  ", &k   );
        printf("それを整数として 3 で割った値は %d    です。\n",   k / 3  );
        printf("それを実数として 3 で割った値は %f    です。\n",   k / 3.0);
        return 0;
    }
    
  2. 問2:

    次のプログラムの出力を書け。

    int main(void) {
        int k = 12, a = 1;
    
        if (k % 2 == 0) {
            a *= 2;
        }
        if (k % 3 == 0) {
            a *= 3;
        } else if (k % 4 == 0) {
            a *= 5;
        }
        printf("%d\n", a);
        return 0;
    }
    
  3. 問3:

    以下の空欄を埋めて、 1 以上 8 以下の整数のみを入力として受付け、 範囲外の整数が入力された場合は読込みを繰り返すプログラムを完成させよ。
    int main(void) {
        int n;
        do {
            printf("1 〜 8 の整数を入力してください: ");
            scanf("%d", &n);
        }  while (                         );
        printf("太陽系の第 %d 惑星は、", n);
        switch (n) {
          case 1: printf("水星");   break;
          case 2: printf("金星");   break;
          case 3: printf("地球");   break;
          case 4: printf("火星");   break;
          case 5: printf("木星");   break;
          case 6: printf("土星");   break;
          case 7: printf("天王星"); break;
          case 8: printf("海王星"); break;
        }
        printf("です。\n");
        return 0;
    }
    
  4. 問4:

    以下のプログラムは、整数の組のデータを (i,j) という形式で出力する。 このプログラムの出力を書け。ただし、 空白は明示的に空白記号(␣)を、 改行は明示的に矢印(↓)を書くこと。
    int main(void) {
        int i, j, n = 3;
        for (i = 0; i < n; i++) {
            for (j = n; j > i; j--) {
                printf("(%d,%d) ", i, j);
            }
            printf("\n");
        }
        return 0;
    }
    

オンラインテスト


Koji Kagawa