情報科学演習 実習課題 2013.01.28

Back to text page


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

$ ./a.out | less

実習課題

  1. 文字列の表示

    以下に示す文字列配列を利用して,3×3のマトリックス状にランダムに要素の文字列を表示するプログラムを作成せよ.

    	char fc[5][10] = {"Arsenal", "Bayern", "Chelsea", "Dortmund", "Liverpool"};
    

    Dortmund  Arsenal   Dortmund
    Liverpool Chelsea   Arsenal
    Bayern    Arsenal   Arsenal
    

  2. グループ判定

    Arsenal, Bayern, Chelsea, Dortmund, Liverpoolの文字列の中からどれか一つをランダムに表示する.また,Walcott, Libery, Torres, Reus, Gerrardの文字列の中からどれか一つをランダムに表示し,同じチームであれば,sameと,違うチームであればdifferentと表示するプログラムを作成せよ.

    ただし,文字列を出力させる処理は以下の行を必ず使用すること.

    	printf("%s - %s : %s\n", fc[f], player[p], judge[j]);
    

    Bayern - Torres : different
    

    えっ?! 選手の名前がわからない?! マジっすか?
  3. 文字順変更

    以下に示すアルファベットの文字列配列を利用して,下に示すように文字順を変更して表示するプログラムを if 文を使用しないで作成せよ.

    	char str[11] = "abcdefghij";
    

    abcdefghij
    badcfehgji
    

    添字の進行を具体的に数字で表すと規則性が分かります.
  4. 文字表示の繰り返し

    以下のように文字を表示するプログラムを作成せよ.

    .:iGW
    ..::iiGGWW
    ...:::iiiGGGWWW
    ....::::iiiiGGGGWWWW
    .....:::::iiiiiGGGGGWWWWW
    ......::::::iiiiiiGGGGGGWWWWWW
    .......:::::::iiiiiiiGGGGGGGWWWWWWW
    ........::::::::iiiiiiiiGGGGGGGGWWWWWWWW
    .........:::::::::iiiiiiiiiGGGGGGGGGWWWWWWWWW
    ..........::::::::::iiiiiiiiiiGGGGGGGGGGWWWWWWWWWW
    

  5. ランダムな文字数ずつの表示

    以下に示すようにアルファベット26文字を3から7文字ずつランダムに区切って表示するプログラムを if 文を使わないで作成せよ.

    abcdefg
           hij
              klmno
                   pqrstuv
                          wxyz
    

    if 文を使わない処理にするためにこれまで使ったことが無い条件指定の for 文を使用しています.すなわち,文字列表示のための内側の for 文では式2に複数の条件式が必要となります.

Back to text page