情報科学演習 実習課題 2015.01.26

Back to text page


文字列を扱うプログラムを実行する際には必ずページャの less に処理を渡すこと.

$ ./a.out | less

実習課題

  1. 小テストのプログラムの改良

    本日の小テストのプログラムをやはり if 等を使用しないで, for 文一つで実現できるように変更してください.

  2. 文字列配列(2次元)の基本

    以下に示す配列を用意して,以前に行ったトランプの札の表示を if 文や switch 文なしで作成しましょう.1から52の範囲の整数を乱数で一つ発生させ,その数に対応した札を表示させます.数字と札の対応表も同時に表示して下さい.

    	char mark[13][3] = {"A", "2", "3", "4", "5", "6", "7", "8", "9", "10", "J", "Q", "K"};
    	char suit[4][9] = {"Spades", "Hearts", "Diamonds", "Clubs"};
    

               A  2  3  4  5  6  7  8  9 10  J  Q  K
    Spades  :  1  2  3  4  5  6  7  8  9 10 11 12 13
    Hearts  : 14 15 16 17 18 19 20 21 22 23 24 25 26
    Diamonds: 27 28 29 30 31 32 33 34 35 36 37 38 39
    Clubs   : 40 41 42 43 44 45 46 47 48 49 50 51 52
    
    Random number: 13
    K of Spades
    

  3. 文字列配列(2次元)の基本その2

    こちらも同じく以前に行ったじゃんけんのプログラムを以下の配列を用意して if 文や switch 文なしで作成しましょう.

    	char hand[3][6] = {"Gu", "Choki", "Pa"};
    	char result[3][15] = {"Aiko", "Winner is me!", "Winner is you!"};
    

    You: Choki
    Me:  Choki
    Aiko
    
    You: Gu
    Me:  Gu
    Aiko
    
    You: Choki
    Me:  Choki
    Aiko
    
    You: Pa
    Me:  Choki
    Winner is me!
    
    

  4. 縦書き

    以下に示す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
    

  5. 文字列からの文字の削除

    以下の配列を使って,ランダムにその中の1文字を選んで配列からその文字を削除するプログラムを作成しましょう.

    	char str[11] = "abcdefghij";
    

    A character to delete: d
    abcefghij
    

    最後に配列を表示するときには,必ず以下の文を使用してください.

    	printf("%s\n", str);
    

Back to text page