落書きノート

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

C言語で問題を解く

解きながら学ぶC言語

解きながら学ぶC言語

// q7-9
#include <stdio.h>
#include <limits.h>

int main(void) {
  unsigned x = UINT_MAX - 1;
  printf("unsigned型の最大値 : %u\n", UINT_MAX);
  printf("x = %u\n", x);
  printf("x + 3 = %u\n", x + 3);
  printf("x * 2 = %u\n", x * 2);
  return 0;
}

// q7-10
#include <stdio.h>

int main(void) {
  int i;
  float x;

  printf("      x       x * x\n");
  printf("----------------------\n");
  for(i = 0; i <= 100; i++) {
    x = i / 100.0;
    printf("%f      %f\n", x, x * x);
  }
  return 0;
}

// q7-11
#include <math.h>
#include <stdio.h>

int main(void) {
  int i;
  double x;

  printf("    x    sqrt(x)\n");
  printf("---------------\n");
  for(i = 0; i <= 100; i++) {
    x = i / 100.0;
    printf("%4.2f     %5.3f\n", x, sqrt(x));
  }
  return 0;
}

// gcc q7_11.c -o q7_11 -lm

// q8-1
#include <stdio.h>
#define sqr(x) x * x
#define cub(x) x * x * x

int main(void) {
  int nx;
  double dx;

  printf("整数を入力してください : ");
  scanf("%d", &nx);
  printf("その数の二乗は%dで三乗は%dです。\n", sqr(nx), cub(nx));
  printf("実数を入力してください : ");
  scanf("%lf", &dx);
  printf("その数の二乗は%f\n三乗は%fです。\n", sqr(dx), cub(dx));
  return 0;
}

// q8-2
#include <stdio.h>
#define diff(x, y) x > y ? x - y : y - x

int main(void) {
  int n1, n2;
  puts("2つの値を入力してください。");
  printf("整数1 : "); scanf("%d", &n1);
  printf("整数2 : "); scanf("%d", &n2);
  printf("それらの差は%dです。\n", diff(n1, n2));
  return 0;
}