$ ./a.out | less
実習課題
以下に示す5文字の単語5つからなる配列を用意します.
char word[5][6] = {"river", "table", "socks", "house", "shoes"}; |
これを普通に表示した後,縦書に変えて表示するプログラムを作成しましょう.
river table socks house shoes s h s t r h o o a i o u c b v e s k l e s e s e r |
以下の配列を使って,ランダムにその中の1文字を選んで配列からその文字を削除するプログラムを作成しましょう.
char str[11] = "abcdefghij"; |
A character to delete: d abcefghij |
最後に配列を表示するときには,必ず以下の文を使用してください.
printf("%s\n", str);
以下のような配列があるとします.
char str[5][10] = {"ab", "cdefg", "hij", "klmnopqrs", "tuvwxy"}; |
この配列に含まれる文字列を for 文を使用して順に表示する場合には %s を使用すれば簡単に出来ます.それを2重の for 文を使用して %c を使用して表示させるプログラムに変えることを考えてみましょう.
ab cdefg hij klmnopqrs tuvwxy |
教科書p.90の strlen 関数を使います.
全52枚のトランプのカードを重複なくランダムに表示するプログラムを作成しましょう
以下の配列を使用します.
int card[52]; char suite[4][9] = {"Spades", "Hearts", "Diamonds", "Clubs"}; char mark[13][3] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"}; |
1行にカード5枚で文字の揃え方にも注意しましょう.
7 of Clubs J of Hearts J of Diamonds 10 of Diamonds 8 of Spades 4 of Clubs Q of Hearts 10 of Hearts 9 of Diamonds A of Spades 4 of Spades J of Clubs 2 of Diamonds 8 of Diamonds Q of Clubs K of Clubs 5 of Clubs 5 of Diamonds 3 of Hearts 6 of Spades 2 of Clubs 2 of Spades K of Diamonds 7 of Hearts 5 of Spades 9 of Hearts K of Spades 6 of Hearts 3 of Clubs 3 of Spades 8 of Clubs 4 of Hearts 5 of Hearts 7 of Spades 10 of Clubs 9 of Clubs A of Diamonds J of Spades 3 of Diamonds A of Hearts A of Clubs 7 of Diamonds 4 of Diamonds 10 of Spades K of Hearts Q of Diamonds 9 of Spades 2 of Hearts 6 of Clubs 8 of Hearts 6 of Diamonds Q of Spades |
まずは0から51までの数を配列 card に代入して準備します.そして,その数の並びをランダムに変えることを行って,カード表示はそのランダムな数列を用いて行えばできます.
以下に示す配列を用意します.
char fc[6][10] = {"Arsenal", "Barcelona", "Bayern", "Dortmund", "Liverpool", "Sanfrecce"}; |
アルファベットの小文字をどれか一つ乱数により発生させ,その文字を含むチーム名を表示するプログラムを作成せよ.チーム名の先頭の大文字部分も一致対象とするものとする.
Key letter: s Arsenal Sanfrecce |