シーザー暗号で13文字シフトさせるプログラムをc言語で書きました。
c
1#include<stdio.h> 2int main(void){ 3 char c; 4 while((c=getchar()) != '\n'){ 5 if((c >= 'n' && c <= 'z') || (c >= 'N' && c <= 'Z')){ 6 c -= 13; 7 } 8 else if((c < 'n' && c >= 'a') || (c < 'N' && c >= 'A')){ 9 c += 13; 10 } 11 printf("%c",c); 12 } 13 printf("\n"); 14 return 0; 15}
I LOVE TERATAIL と入力すると V YBIR GRENGNVY と返ってきます。
ここで疑問になったのが入力の際に、一文字ずつ打ったらその文字が判定されていちいちprintされてしまうのではないかと思っていたのですが、
しっかりまとまってprintされます。
なぜなのでしょうか?
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/20 08:14
2019/01/20 08:19 編集
2019/01/20 08:24