落書きノート

ふと自分が気になった事を書いてます

C言語で問題を解く

解きながら学ぶC言語

解きながら学ぶC言語

// q5_1
#include <stdio.h>

int main(void) {
  int i,j,k;
  int sum = 0;
  int x[2][3] = {
    {1,2,3},
    {4,5,6}
  };
  int y[3][2] = {
    {1,5},
    {5,3},
    {8,1}
  };
  for(i = 0; i < 2; i++) {
    for(j = 0; j < 2; j++) {
      for(k = 0; k < 3; k++)
        sum += x[i][k] * y[k][j];
      printf("%2d ", sum);
      sum = 0;
    }
    putchar('\n');
  }
  return 0;
}

// q5_3
#include <stdio.h>

int main(void) {
  int vc[5];
  int i;
  for(i = 5; i > 0; i--)
    vc[5 - i] = i;
  for(i = 0; i < 5; i++)
    printf("vc[%d] = %d\n", i, vc[i]);
  return 0;
}

// q5_4
#include <stdio.h>

int main(void) {
  int i;
  double j;
  double vd[11];
  for(i = 0, j = 0.0; i < 11; i++, j += 0.1)
    vd[i] = j;
  for(i = 0; i < 11; i++)
    printf("vd[%d] = %.1f\n", i, vd[i]);
  return 0;
}

// q5_5
#include <stdio.h>

int main(void) {
  int i;
  int vc[5] = {5, 4, 3, 2, 1};
  for(i = 0; i < 5; i++)
    printf("vc[%d] = %d\n", i, vc[i]);
  return 0;
}

// q5_6
#include <stdio.h>

int main(void) {
  int i;
  int x;
  int sum = 0;
  for(i = 0; i < 5; i++) {
    printf("%d番 : ", i + 1);
    scanf("%d", &x);
    sum += x;
  }
  printf("合計点 : %d\n", sum);
  printf("平均点 : %.1f\n", (double)sum / 5);
  return 0;
}

// q5_7
#include <stdio.h>
#include <string.h>

int main(void) {
  int va[5] = {15, 20, 30};
  int vb[5];
  memcpy(vb, va, sizeof(va));
  int i;
  puts("  va vb");
  puts("--------");
  for(i = 0; i < 5; i++) {
    printf("  %2d %2d\n", va[i], vb[i]);
  }
  return 0;
}

// q5_8
#include <stdio.h>

int main(void) {
  int i;
  int va[5] = {15, 20, 30};
  int vb[5];
  for(i = 0; i < 5; i++)
    vb[5 - i - 1] = va[i];
  puts("  va vb");
  puts("--------");
  for(i = 0; i < 5; i++)
    printf("  %2d %2d\n", va[i], vb[i]);
  return 0;
}

// q5_9
#include <stdio.h>

int main(void) {
  int i;
  int vx[7];
  for(i = 0; i < 7; i++) {
    printf("vx[%d] : ", i);
    scanf("%d", &vx[i]);
  }
  for(i = 0; i < 7 / 2; i++) {
    int t = vx[i];
    vx[i] = vx[7 - i - 1];
    vx[7 - i - 1] = t;
  }
  for(i = 0; i < 7; i++)
    printf("vx[%d] = %d\n", i, vx[i]);
  return 0;
}

// q5_10
#include <stdio.h>

int main(void) {
  int i;
  int vx[8];
  for(i = 0; i < 8; i++) {
    printf("vx[%d] : ", i);
    scanf("%d", &vx[i]);
  }
  for(i = 0; i < 8 / 2; i++) {
    int t = vx[i];
    vx[i] = vx[8 - i - 1];
    vx[8 - i - 1] = t;
  }
  for(i = 0; i < 8; i++)
    printf("vx[%d] = %d\n", i, vx[i]);
  return 0;
}

// q5_11
#include <stdio.h>

int main(void) {
  puts("身長を入力してください。");
  int sum = 0;
  int x;
  int i;
  for(i = 0; i < 5; i++) {
    printf("%d番 : ", i + 1);
    scanf("%d", &x);
    sum += x;
  }
  printf("平均身長 : %.1f\n", (double)sum / 5);
  return 0;
}

// q5_12
#include <stdio.h>
#define NUMBER 5

int main(void) {
  puts("身長を入力してください。");
  int i;
  int x;
  int sum = 0;
  for(i = 0; i < NUMBER; i++) {
    printf("%d番 : ", i + 1);
    scanf("%d", &x);
    sum += x;
  }
  printf("平均身長 : %.1f\n", (double)sum / NUMBER);
  return 0;
}

// q5_13
#include <stdio.h>
#define NUMBER 5

int main(void) {
  puts("体重を入力してください。");
  int i;
  double min = 0, max = 0;
  double x[NUMBER];
  for(i = 0; i < NUMBER; i++) {
    printf("%d番 : ", i + 1);
    scanf("%lf", &x[i]);
  }
  min = x[0];
  max = x[0];
  for(i = 0; i < NUMBER; i++) {
    if(min > x[i])
      min = x[i];
    if(max < x[i])
      max = x[i];
  }
  printf("最も重い人の体重 : %.1f\n", max);
  printf("最も軽い人の体重 : %.1f\n", min);
  return 0;
}

// q5_14
#include <stdio.h>

int main(void) {
  double a;
  int b;
  a = b = 1.5;
  printf("aの値 = %f\n", a);
  printf("bの値 = %d\n", b);
  return 0;
}

// q5_15
#include <stdio.h>

int main(void) {
  int i,j;
  int a[2][3] = {
    {1,2,3},
    {4,5,6}
  };
  int b[2][3] = {
    {6,3,4},
    {5,1,2}
  };
  for(i = 0; i < 2; i++) {
    for(j = 0; j < 3; j++) {
      printf("%2d", a[i][j] + b[i][j]);
    }
    puts("");
  }
  return 0;
}

// q5_16
#include <stdio.h>

int main(void) {
  int i,j,k;
  int sum = 0;
  int x[2][3] = {
    {1,2,3},
    {4,5,6}
  };
  int y[3][2] = {
    {1,5},
    {5,3},
    {8,1}
  };
  for(i = 0; i < 2; i++) {
    for(j = 0; j < 2; j++) {
      for(k = 0; k < 3; k++)
        sum += x[i][k] * y[k][j];
      printf("%2d ", sum);
      sum = 0;
    }
    putchar('\n');
  }
  return 0;
}