
またもやmixiネタ
書いた人大学生らしいけど、こんなのもわからんのかと怒る前に今回はCとPerlで書いてみよう
それも中軸の処理は一行で
まずはPerl
んー、まぁこんなもんでしょ
んじゃ次はC
ちょっと無理やりかな?
追記
Perlでもっと短いのでけた
うーんトリッキー
追記2
更に短く
もうここまでくると何の処理だかわからんね
追記3
泣きたくなるほどに短いやつ
そうか、これでよかったんだ
入力 getchar
出力 putchar
大文字と小文字を逆転するプログラムを書く。
書いた人大学生らしいけど、こんなのもわからんのかと怒る前に今回はCとPerlで書いてみよう
それも中軸の処理は一行で
まずはPerl
map{if($_<91 && $_>64){$_+=32;}elsif($_<123 && $_>96){$_-=32;}printf("%c",$_);}unpack('C*',<>);
んー、まぁこんなもんでしょ
んじゃ次はC
#include <stdio.h>
int main() {
char c;
while(c=getchar()) putchar(c > '@' && c < '[' ? c+32 : c > '`' && c < '{' ? c-32 : c);
return 0;
}
ちょっと無理やりかな?
追記
Perlでもっと短いのでけた
map{printf("%c",(0..64,97..122,91..96,65..90,123..255)[$_]);}unpack('C*',<>);
うーんトリッキー
追記2
更に短く
map{print chr((0..64,97..122,91..96,65..90,123..255)[$_]);}unpack('C*',<>);
もうここまでくると何の処理だかわからんね
追記3
泣きたくなるほどに短いやつ
while(<>){tr/a-zA-Z/A-Za-z/;print;}
そうか、これでよかったんだ

| ホーム |