[1] 授業単元: プログラミングII
[2] 問題文(含コード&リンク):

出版社M社で自社のライトノベル・DVD購入者に対し懸賞を行うことになった。
応募券を切り取り、ハガキに貼ってを送ってきた人に対し

10人にオリジナル図書カードを
50人にオリジナルストラップを
100人にオリジナルステッカーをプレゼントすることになった。

公平を期すためにC言語で乱数を用い当選者を決定させたい。
ここで応募してくる人は過去の傾向からみて1000人以下であると考えられる。

※なおライトノベル、DVD両方の応募券がついている客は
DVDのみの応募券、ライトノベルのみの応募券がついているユーザーの2倍の当選確率である。

※なお、同一人物(同じ名前)での2重当選はありえない。(当選は1人1回である)

※またA君、B君、C君は前回の懸賞で特賞が当たっているため、今回応募があっても当選しない。

[3] 環境
 [3.1] OS: Windows XP
 [3.2] コンパイラ名とバージョン: Boland
 [3.3] 言語: C
[4] 期限: 2006.12.01
[5] その他の制限: なし

よろしくお願いいたします。