#第10回[Swap case]#
[問題]
入力された英数文字列を、大文字と小文字を入れ替えて表示する
[入力|例1]
Loremipsum
[出力|例1]
lOREMIPSUM
[入力|例2]
mixC++ Code Golf
[出力|例2]
MIXc++ cODE gOLF
[入力|例3]
@AZ['az{
[出力|例3]
@az['AZ{
[期間]
12/11(土)22:00 ~ 12/18(土)21:59
[hr]
=結果=
投稿数 10件(3人)
1位 (54B)
みけCAT さん
main(a){for(;~a;putchar(a^isalpha(a)>>5))a=getchar();}
2位 (55B)
a5ua さん
main(c){while(~(c=getchar()))putchar(isalpha(c)/32^c);}
*1位1番乗り
みけCAT さん
[hr]
★解説
今回のポイントは次の2つです。
標準Cライブラリ関数は便利
アルファベットかどうかの判定を自前で組まず、標準Cライブラリの isalpha 関数を使うことでコードを短くできました。
ただし、isalpha の実装依存のコードとなっていることに注意してください。
アルファベットの小文字⇔大文字変換
1位のコードはどちらも、文字コード上で、対応する小文字と大文字のアルファベットの値の差が32であることを利用しています。
興味が出てきたら、コミュニティ「Code Golf を楽しもう」まで!
初心者歓迎、参戦&観戦いつでもお待ちしています!
http://dixq.net/forum/viewforum.php?f=52
[hr]
第11回は五反田さんが出題・投稿受付を担当されます。
コードの投稿は、今回はコミュ主ではなく五反田さんへ!
.
第10回 mixC++ Code Golf 結果報告
- あーる@Reputeless
- 記事: 84
- 登録日時: 15年前
- 住所: 千葉
第10回 mixC++ Code Golf 結果報告
最後に編集したユーザー あーる@Reputeless on 2010年12月29日(水) 00:58 [ 編集 2 回目 ]
Re: 第10回 mixC++ Code Golf 結果報告
isalphaの存在が自分の中では無き物になっていました。
forループ内での処理順序をしっかり考えることも出来なかったし、次の次は頑張りたいと思います。
みけCATさんおめでとうございます。
それにしても参加者数が・・・。
forループ内での処理順序をしっかり考えることも出来なかったし、次の次は頑張りたいと思います。
みけCATさんおめでとうございます。
それにしても参加者数が・・・。
- あーる@Reputeless
- 記事: 84
- 登録日時: 15年前
- 住所: 千葉
Re: 第10回 mixC++ Code Golf 結果報告
> 五反田さん
isalpha なしで頑張ってくれましたね (╹◡╹;;;
シンプルな問題のほうが、打倒ランキング常連軍の勝機が出てくるみたい。
参加者数は自然な変動内だと思います。
来る者拒まず、来ない者気にせず。新参古参の挑戦者がコードを送ってくるのをゆるりと待ってます。
isalpha なしで頑張ってくれましたね (╹◡╹;;;
シンプルな問題のほうが、打倒ランキング常連軍の勝機が出てくるみたい。
参加者数は自然な変動内だと思います。
来る者拒まず、来ない者気にせず。新参古参の挑戦者がコードを送ってくるのをゆるりと待ってます。
Re: 第10回 mixC++ Code Golf 結果報告
目が覚めたら終わってましたorz
isalphaなんていうものがあった…ってことは完全失念(;´Д`)
isalphaなんていうものがあった…ってことは完全失念(;´Д`)
- あーる@Reputeless
- 記事: 84
- 登録日時: 15年前
- 住所: 千葉
Re: 第10回 mixC++ Code Golf 結果報告
> 沖 滉均 さん
お仕事お疲れ様です。
ここに載っている標準Cライブラリの関数なら
http://bit.ly/CSTDLIB
include 無しで、じゃんじゃん使えるはずです!
> roxion1377 さん
いよいよメンバー出題が始まりましたね
来週の出題、よろしくお願いいたします(´ω`*
お仕事お疲れ様です。
ここに載っている標準Cライブラリの関数なら
http://bit.ly/CSTDLIB
include 無しで、じゃんじゃん使えるはずです!
> roxion1377 さん
いよいよメンバー出題が始まりましたね
来週の出題、よろしくお願いいたします(´ω`*