char suits[4][9] = {"Spades", "Hearts", "Diamonds", "Clubs"}; char mark[13][3] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; |
トランプを5枚引いてそれらのカードを表示し,その後で絵札(J,Q,K)の枚数を表示する動作をシミュレートするプログラムを作成せよ.
My student number: s154099 10 of Diamonds J of Diamonds 2 of Clubs 7 of Hearts A of Hearts Number of court cards: 1 -------------------------------------- |
解答用紙を使用する際には,まず,科目名の不要な方を削除してください.また,学生番号と名前の記入も忘れないでください.さらに,解答用紙自体がC言語のプログラムとなっていますので, cc コマンドを実行して,コンパイルエラーの無いことを確認してから提出してください. 指定の解答用紙を使用していない,コンパイルエラーが出る,実行時に警告が出る,学生番号と名前が無い,というような答案は提出されても採点しません.注意してください. |
/* ************************************************** */ /* */ /* プログラミング入門 情報科学演習C7 */ /* レポート課題 */ /* 2016.01.18 */ /* */ /* ************************************************** */ /* */ /* 学生番号: */ /* */ /* 氏名: */ /* */ /* ************************************************** */ /* */ /* この行以降に解答のプログラムを書くこと */ #include <stdio.h> #include <stdlib.h> #include <time.h> main() { srand((unsigned) time(NULL)); char suits[4][9] = {"Spades", "Hearts", "Diamonds", "Clubs"}; char mark[13][3] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; int i, j, n, tmp, count = 0, card[52]; for(i=0; i<=51; i++) card[i] = i; printf("My student number: s154099\n\n"); for(i=1; i<=5; i++){ n = rand() % (53 - i); printf("%2s of %s\n", mark[card[n]%13], suits[card[n]/13]); if(card[n]%13>9) count++; tmp = card[n]; card[n] = card[52-i]; card[52-i] = tmp; } printf("\nNumber of court cards: %d\n", count); printf("\n--------------------------------------\n\n"); return(0); } |