もちもちブログ

競技プログラミングやCTFをしている高1です

アルファベットと数字の互換

コンテスト中時々出てくる、大文字から小文字への変換や、アルファベットを数字に変えたりするやつのまとめです まず数字からアルファベット

#include <bits/stdc++.h>
using namespace std;
signed main()
{
  //3番目のアルファベットを出力する
  int p = 3;
  char ans = char('a' + p - 1);
  cout << ans << endl;
}

実行結果

$ g++ -o sample sample.cpp
$ ./sample
c

次に数字からアルファベットへの変換です。さっきやったことの逆をするだけですね

#include <bits/stdc++.h>
using namespace std;
signed main()
{
  //cが何番目のアルファベットかを出力する
  char p = 'c';
  int ans = p - 'a' + 1;
  cout << ans << endl;
}

実行結果

$ g++ -o sample sample.cpp
$ ./sample
3

最後に大文字と小文字の変換です

#include <bits/stdc++.h>
using namespace std;
signed main()
{
  //cを大文字に変換
  char p = 'c';
  cout << char(p - 32) << endl;
  //Cを小文字に変換
  char q = 'C';
  cout << char(q + 32) << endl;
}

実行結果

$ g++ -o sample sample.cpp
$ ./sample
C
c