syat #8941(2009/05/17 02:45 GMT) [ C ] Rating0/0=0.00
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47
#include <stdio.h> #include <stdlib.h> #define IS_SPACE(c) ( (c) == ' ' || (c) == '\n' ) #define MBCLEN 2 /* ランダム比較関数 */ int compare_random(const void *a, const void *b) { return rand() - RAND_MAX / 2; } /* ケブンリッジ関数 */ void ciambrgde(char *buf) { char *p = buf; while (*p) { char *word_head; /* 空白を読み飛ばす */ while (IS_SPACE(*p)) { p++; } if (! *p) { break; } /* 単語の末尾を探す */ word_head = p; while (*p && ! IS_SPACE(*p)) { p += MBCLEN; } /* 4文字以上の単語なら入れ替えを行う */ if ( (p - word_head) >= MBCLEN * 4 ) { qsort(word_head + MBCLEN, (p - word_head)/MBCLEN - 2, MBCLEN, compare_random); } } return; } int main() { char buf[] = "こんにちは みなさん おげんき ですか? わたしは げんき です。\n\ この ぶんしょう は いぎりす の ケンブリッジ だいがく の けんきゅう の けっか\n\ にんげん は もじ を にんしき する とき その さしいょ と さいご の もじさえ あっていれば\n\ じゅんばん は めちゃくちゃ でも ちゃんと よめる という けんきゅう に もとづいて\n\ わざと もじの じゅんばん を いれかえて あります。\n\ どうです? ちゃんと よめちゃう でしょ?\n\ ちゃんと よめたら はんのう よろしく"; ciambrgde(buf); printf(buf); return 0; }
Rating0/0=0.00-0+
[ reply ]
syat
#8941()
[
C
]
Rating0/0=0.00
Rating0/0=0.00-0+
[ reply ]