2 つの数を入れ替えるプログラム

CCBeginner
今すぐ練習

💡 このチュートリアルは英語版からAIによって翻訳されています。原文を確認するには、 ここをクリックしてください

はじめに

2 つの数を入れ替えるとは、それらの値を入れ替えることを意味します。この実験では、一時変数を使用する方法、加減算、ビット演算子、乗除算など、さまざまな方法を使って C 言語で 2 つの数を入れ替える方法を学びます。

注:コーディングを練習し、gcc を使ってコンパイルして実行する方法を学ぶには、自分で~/project/main.cファイルを作成する必要があります。

cd ~/project
## main.cを作成する
touch main.c
## main.cをコンパイルする
gcc main.c -o main
## mainを実行する
./main

Skills Graph

%%%%{init: {'theme':'neutral'}}%%%% flowchart RL c(("C")) -.-> c/UserInteractionGroup(["User Interaction"]) c(("C")) -.-> c/BasicsGroup(["Basics"]) c/BasicsGroup -.-> c/variables("Variables") c/BasicsGroup -.-> c/operators("Operators") c/UserInteractionGroup -.-> c/output("Output") subgraph Lab Skills c/variables -.-> lab-123348{{"2 つの数を入れ替えるプログラム"}} c/operators -.-> lab-123348{{"2 つの数を入れ替えるプログラム"}} c/output -.-> lab-123348{{"2 つの数を入れ替えるプログラム"}} end

一時変数を使用する

一時変数を使って 2 つの数を入れ替えるには、次の手順に従います。

  1. xytempの 3 つの変数を宣言する。
  2. xyに値を代入する。
  3. xの値をtempに格納する。
  4. yの値をxに代入する。
  5. tempの値をyに代入する。
  6. xyの値を表示する。
#include <stdio.h>

int main() {
  int x = 5, y = 7, temp;

  // 手順 3
  temp = x;

  // 手順 4 と 5
  x = y;
  y = temp;

  // 手順 6
  printf("入れ替え後、x = %d で y = %d\n", x, y);

  return 0;
}

加算と減算を使う

加算と減算を使って 2 つの数を入れ替えるには、次の手順に従います。

  1. xyに値を代入する。
  2. xyを加算し、その結果をxに代入する。
  3. xからyの元の値を引き、yに代入する。
  4. xの新しい値からyの元の値を引き、xに代入する。
  5. xyの値を表示する。
#include <stdio.h>

int main() {
  int x = 5, y = 7;

  // 手順 2 と 3
  x = x + y;
  y = x - y;

  // 手順 4
  x = x - y;

  // 手順 5
  printf("入れ替え後、x = %d で y = %d\n", x, y);

  return 0;
}

ビット演算子を使用する

ビット演算子を使って 2 つの数を入れ替えるには、次の手順に従います。

  1. xyに値を代入する。
  2. xyを排他的論理和(XOR)し、その結果をxに代入する。
  3. xの新しい値とyを排他的論理和し、その結果をyに代入する。
  4. xの新しい値とyを排他的論理和し、その結果をxに代入する。
  5. xyの値を表示する。
#include <stdio.h>

int main() {
  int x = 5, y = 7;

  // 手順 2 と 3
  x = x ^ y;
  y = x ^ y;

  // 手順 4
  x = x ^ y;

  // 手順 5
  printf("入れ替え後、x = %d で y = %d\n", x, y);

  return 0;
}

乗算と除算を使う

乗算と除算を使って 2 つの数を入れ替えるには、次の手順に従います。

  1. xyに値を代入する。
  2. xyを乗算し、その結果をxに代入する。
  3. xの新しい値をyで割り、その結果をyに代入する。
  4. xの新しい値をyの新しい値で割り、その結果をxに代入する。
  5. xyの値を表示する。
#include <stdio.h>

int main() {
  int x = 5, y = 7;

  // 手順 2 と 3
  x = x * y;
  y = x / y;

  // 手順 4
  x = x / y;

  // 手順 5
  printf("入れ替え後、x = %d で y = %d\n", x, y);

  return 0;
}

まとめ

この実験では、一時変数を使う方法、加算と減算、ビット演算子、乗算と除算の 4 つの異なる方法を使って 2 つの数を入れ替える方法を学びました。2 つの数を入れ替えることは、2 つの値の順序を変更したり、2 つの変数の値を入れ替える必要がある演算を行う際に、プログラミングで役立ちます。