[C言語]AからZを入力されたら1から26までの数値を表示させる課題があったとして……(文字コード)

妹「コピペ!コピペ!」
兄「ん?」
妹「ペッペッペッペッペッ」
兄「何やってるの?」
妹「学校のC言語の課題だよ。入力がAだったら1、Bだったら2っていう風にコンソールに出すの」
兄「アルファベットが進むと1ずつ増えるのか。で、何を書いてるんだ……?」
妹「お兄ちゃん!私はプログラミングが得意だからこれくらいお茶の子さいさい!たけのこモイモイだよ!」

#include "stdio.h"
int main()
{
	printf("入力してください\n>>");
	char a=getchar();
	if(a=='A') printf("数値は1です");
	if(a=='B') printf("数値は2です");
	if(a=='C') printf("数値は3です");
	if(a=='D') printf("数値は4です");
	if(a=='E') printf("数値は5です");
	if(a=='F') printf("数値は6です");
	if(a=='G') printf("数値は7です");
	if(a=='H') printf("数値は8です");
	if(a=='I') printf("数値は9です");
	if(a=='J') printf("数値は10です");
	if(a=='K') printf("数値は11です");
	if(a=='L') printf("数値は12です");
	if(a=='M') printf("数値は13です");
	if(a=='N') printf("数値は14です");
	if(a=='O') printf("数値は15です");
	if(a=='P') printf("数値は16です");
	if(a=='Q') printf("数値は17です");
	if(a=='R') printf("数値は18です");
	if(a=='S') printf("数値は19です");
	if(a=='T') printf("数値は20です");
	if(a=='U') printf("数値は21です");
	if(a=='V') printf("数値は22です");
	if(a=='W') printf("数値は23です");
	if(a=='X') printf("数値は24です");
	if(a=='Y') printf("数値は25です");
	if(a=='Z') printf("数値は26です");
	return 0;
}

妹「どやさ!!!」
兄「なんてバカなコード書いてるんだ……」
妹「バカ!?」
兄「お前みたいなのがいるから情報の講師は問題文に『ただしif文は使わない事』とか追記したりするんだ」
妹「ふふん、if文を使わなくてもできるよ!プログラマー妹を舐めないでよね!」

#include "stdio.h"
int main()
{
	printf("入力してください\n>>");
	char a=getchar();
	switch(a)
	{
	case 'A': printf("数値は1です"); break;
	case 'B': printf("数値は2です"); break;
	case 'C': printf("数値は3です"); break;
	case 'D': printf("数値は4です"); break;
	case 'E': printf("数値は5です"); break;
	case 'F': printf("数値は6です"); break;
	case 'G': printf("数値は7です"); break;
	case 'H': printf("数値は8です"); break;
	case 'I': printf("数値は9です"); break;
	case 'J': printf("数値は10です");break;
	case 'K': printf("数値は11です");break;
	case 'L': printf("数値は12です");break;
	case 'M': printf("数値は13です");break;
	case 'N': printf("数値は14です");break;
	case 'O': printf("数値は15です");break;
	case 'P': printf("数値は16です");break;
	case 'Q': printf("数値は17です");break;
	case 'R': printf("数値は18です");break;
	case 'S': printf("数値は19です");break;
	case 'T': printf("数値は20です");break;
	case 'U': printf("数値は21です");break;
	case 'V': printf("数値は22です");break;
	case 'W': printf("数値は23です");break;
	case 'X': printf("数値は24です");break;
	case 'Y': printf("数値は25です");break;
	case 'Z': printf("数値は26です");break;
	}
	return 0;
}

妹「どやさ!!!」
兄「バカなの!?これは学校の課題で良くある奴だよ。if文や配列を習った所でこの課題が出されたなら、期待している回答はこんな感じになるんじゃないか?」

#include "stdio.h"
int main()
{
	printf("入力してください\n>>");
	char str[]="ABCDEFGHIJKLMNOPQRSTUVWXYZ";
	char a=getchar();
	int i;
	for(i=0;i<26;i++){
		if(str[i]==a) printf("数値は%dです。\n",i+1);
	}
	return 0;
}

妹「……短くなったね!」
兄「文字コードやバイナリを習ったなら期待するソースコードはこうじゃないかな?」

#include "stdio.h"
int main()
{
	printf("入力してください\n>>");
	char a=getchar();
	if(a>=65 && a<=90) printf("数値は%dです。\n",(short)a-64);
	return 0;
}

妹「さらに短くなったね!でも、なんで64を引いてるの?」
兄「Aから65で1上がるごとにアルファベットが上がっていくからだよ」
妹「でも……if文の方が頑張った!感があるよね?」
兄「あるな……。ステップ数単価とか、そういう会社の時はif文を長々と書くのが正解だったりするからね」
妹「頑張った感って大事だよね……」
兄「量はあってもコピペで簡単にステップ数を稼げるしな。俺も会社ではif文コピペしてる。ちょっとのコードで終わらせると、プログラムをよく知らない上司から『こんな簡単な数行の仕事で評価できるか!』ってなる。頑張った感を出せば『すごい分量のコードだ!こいつはやるな!!』とか思われたりするからな」
妹「じゃあ私のコードが正解じゃん!バカ扱いするな!!」
兄「……そうだな」