採用試験 C言語

問一

以下のCプログラムの出力として正しいものを選択せよ。

(1)
#include <stdio.h>
int main(void) {
  int a = 1;
  int b = 2;
  double x, y;

  x = a / b;
  y = x * b;
  printf("%f, %f\n", x, y);

  return 0;
}


ア 0.00000, 0.00000
イ 0.00000, 1.00000
ウ 1.00000, 2.00000
(2)
#include
int main(void) {
  int a = 1;
  int b = 2;

  if (a = 0) {
    b = 0;
  }
  printf("%f, %f\n", a, b);

  return 0;
}


ア 1,2
イ 1,0
ウ 0,2
エ 0.0
(3)
#include <stdio.h>

void test(int x, int *y);

int main(void) {
  int a = 1;
  int b = 2;

  test(a, &b)

  printf("%f, %f\n", a, b);

  return 0;
}

void test(int x, int *y) {
  x = 0;
  *y = 0;
}
ア 1,2
イ 1,0
ウ 0,2
エ 0,0
問二

正の整数を引数とし、3の倍数と3のつく数字に対しては1を、そうでなければ0を返すwatanabe関数を完成させよ。ライブラリ関数は使用しないこと

int watanabe(int n) {
    if((n%3)==0) {
        return 1;
    }
下記①②にCプログラムを追加し、doCalc関数内からadd関数を呼び出して"3"を出力するプログラムを完成させよ。ただしdoCalc内に"add"と書いてはならない。

#include <stdio.h>
struct Calculator {
    int (*mult)(int, int);
};
int add(int a, int b) {
    return a + b;
}
int doCalc(Calculator c, int x, int y) {


}
int main(void) {
    struct Calculator calculator;
 int result = doCalc(calculator, 1, 2);
 printf("%d\n", result);

 return 0;
}
TOP
TOP