課題が届いていないという情報が寄せられましたので再送しておきます。 2008/11/10 Shin-ichi Asakawa : コンピュータ3A 履修者の皆様 本日分の課題をお送りします。いつものように解答は asakawa_comp3a@cis.twcu.ac.jp に送ってください。 その際,メールの件名は「20081110-自分の学生番号」とし, 必ず自分宛に Cc: してください。提出期限は 11 月 16 日 23:59 とします。 1. 次のプログラムは何を行っているか簡潔に答えよ。 #include int mystery(const char s[]); int main(void) { char str[80]; printf("文字を入力してください:"); scanf("%s", str); printf("%d\n", mystery(str)); return 0; } int mystery(const char s[]) { int i = 0, x = 0; for( ; s[i] != '\0'; i++) ++x; return x; } 2. 次のプログラムはトランプのカードをシャッフルし,配るシミュレーションである。 足りないところを補って完成させよ。 #include #include #include void shuffle(int card[][13]); void deal(int card[4][13], const char suit[4][10], const char face[13][10]); int main(void) { const char suit[4][10]= {"Heart", "Daia", "Crab", "Spade"}; const char face[13][10]={"Ace", "2", "3", "4", "5", "6", "7", "8", "9", "10", "Jack", "Queen", "King"}; int deck[4][13]={0}; srand(time(NULL)); shuffle(deck); deal(deck, suit, face); return 0; } void shuffle(int Deck[][13]) { int card, row, column; for (card=1; card<=52; card++) { row = rand() % 4; column = rand() % 13; while(Deck[row][column] != 0) { row = rand() % 4; column = rand() % 13; } Deck[row][column] = card; } } void deal(int Deck[4][13], const char suit[4][10], const char face[13][10]) { int card, row, column; for ( card=1; card <= 52; card++ ) for ( row=0; row <=3; row++ ) for (column=0; column <= 12; column++) if (Deck[//ここを埋める][//ここも埋める] == card) printf("%8s の %-8s\n", suit[row], face[column]); }