読者です 読者をやめる 読者になる 読者になる

個人的自由ノート

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

C言語で問題を解く

以下の本を本格的にやってます。

新・明解C言語によるアルゴリズムとデータ構造

新・明解C言語によるアルゴリズムとデータ構造

データ構造とアルゴリズムというと、大学の時にやったC言語の授業を思い出すわけですが、そのイメージがあってか少し敬遠してました。で、少しやり直してみると意外と行けたので、本格的にやって見てます。まあまだ初めの方だから簡単なんですけど、この勢いで最後までやってみます。

#include <stdio.h>

int med3(int a, int b, int c) {
  if (a >= b)
    if (b >= c)
      return b;
    else if (a <= c)
      return a;
    else
      return c;
  else if (a > c)
    return a;
  else if (b > c)
    return c;
  else
    return b;
}

int main(void) {
  printf("med3(%d,%d,%d) = %d\n", 3, 2, 1, med3(3, 2, 1));
  printf("med3(%d,%d,%d) = %d\n", 3, 2, 2, med3(3, 2, 2));
  printf("med3(%d,%d,%d) = %d\n", 3, 1, 2, med3(3, 1, 2));
  printf("med3(%d,%d,%d) = %d\n", 3, 2, 3, med3(3, 2, 3));
  return 0;
}




#include <stdio.h>

int main(void) {
  int n,i;
  int sum = 0;
  
  printf("nの値を入力してください : "); scanf("%d", &n);
  
  for(i = 1; i <= n; i++) {
    sum += i;
    if(i == n)
      printf("%d = %d\n", i, sum);
    else
      printf("%d + ", i);
  }
  
  return 0;
}




#include <stdio.h>

int main(void) {
  int n;
  printf("nの値を入力してください : "); scanf("%d", &n);
  printf("1から%dまでの和は%dです。\n", n, (1 + n) * n / 2);
  return 0;
}





#include <stdio.h>

int sumof(int a, int b) {
  int i,sum = 0;
  if(a > b){
    int t = a;
    a = b;
    b = t;
  }
  for(i = a; i <= b; i++) {
    sum += i;
  }
  return sum;
}

int main(void) {
  char buf[1000];
  int a,b;
  printf("aとbの値を入力してください\n");
  fgets(buf, sizeof(buf), stdin);
  sscanf(buf, "%d %d", &a, &b);
  printf("%dから%dまでの和は%dです。\n", a, b, sumof(a, b));
  return 0;
}

暇な時に少しずつ…と。