目次
はじめに
はじめに
Visual C++ 2010 Expressのインストール
プログラムの作成
hello.c
コンパイルと実行
C言語プログラミングの学習環境
終了ステータスって?
整数値を3桁区切りで表示するプログラム
課題1 「整数値を3桁区切りで表示する」
ソースコードの雛形
h20a6.c
ソースコードの解説
配列の要素を反転する
課題2 「整数型の最大値と最小値を表示する」
h20a6_min.c
ソースコードの解説
課題3 「64ビットの整数値を表示する」
h20a6_x64.c
ソースコードの解説
他の言語のlong型
課題4 「整数値を4桁区切りの16進数で表示する」
h20a6_hex.c
ソースコードの解説
多倍長整数の加算を行うプログラム
課題1 「多倍長整数型を作る」
ソースコードの雛形
h21a9_set.c
ソースコードの解説
課題2 「多倍長整数の比較を行う」
h21a9_cmp.c
ソースコードの解説
課題3 「多倍長整数の加算を行う」
h21a9_add.c
ソースコードの解説
条件演算子を使用する
課題4 「多倍長整数の減算を行う」
h21a9_sub.c
ソースコードの解説
課題5 「多倍長整数型に符号を追加する」
h21a9_ssub.c
ソースコードの解説
課題6 「符号付き多倍長整数の加減算を行う」
h21a9_sign.c
h21a9_sign.c - part2
ソースコードの解説
数当てゲームを行うプログラム
課題1 「重複のない4桁の乱数を生成する」
ソースコードの雛形
h18a6_prev.c
ソースコードの解説
擬似乱数って?
課題2 「マスターマインドを作成する」
ソースコードの雛形
h18a6.c
ソースコードの解説
課題3 「平均推測回数を表示する」
h18a6_average.c
ソースコードの解説
課題4 「組合せを用いてマスターマインドを解くAIを作成する」
h18a6_ai.h
h18a6_ai.c
h18a6_ai_comb.c
ソースコードの解説
課題5 「順列を用いてマスターマインドを解くAIを作成する」
h18a6_ai_perm.c
ソースコードの解説
課題6 「順列のみを用いてマスターマインドを解くAIを作成する」
h18a6_ai_perm10.c
ソースコードの解説
ソースコードの分割
文字列のURLエンコードを行うプログラム
課題1 「URLエンコードを行う」
ソースコードの雛形
h16a6.c
ソースコードの解説
ポインタを扱うときの注意
課題2 「空白文字を+記号に置換する」
h16a6_space.c
ソースコードの解説
課題3 「URLデコードを行う」
h16a6_decode.c
ソースコードの解説
相対パスを絶対パスに変換するプログラム
課題1 「UNIX形式のパスを変換する」
ソースコードの雛形
h21h9.c
ソースコードの解説
課題2 「Windows形式のパスを変換する」
h21h9_win.c
ソースコードの解説
課題3 「両方の形式を変換する」
h21h9_both.c
ソースコードの解説
WindowsでもUNIXでもコンパイルできるソースコード
課題4 「ファイルの有無を確認する」
h21h9_exists.c
ソースコードの解説
標準ライブラリ関数の調べ方
単語幅でワードラップを行うプログラム
課題1 「単語幅でワードラップする」
ソースコードの雛形
h17h6.c
ソースコードの解説
課題2 「文字列をトークン分割する」
h17h6_token.c
ソースコードの解説
課題3 「改行文字に対応する」
h17h6_newline.c
ソースコードの解説
Windowsのフォントから文字幅を取得してみる
文字数でワードラップを行うプログラム
課題1 「文字数でワードラップする」
ソースコードの雛形
h22h9.c
ソースコードの解説
ファイル記述子って?
課題2 「タブ文字に対応する」
h22h9_tab.c
ソースコードの解説
課題3 「定義済みのキーワードを参照する」
ソースコードの雛形
h22h9_keyword1.c
ソースコードの解説
課題4 「キーワードを定義する」
h22h9_keyword2.c
ソースコードの解説
奥付
奥付

閉じる


数当てゲームを行うプログラム

試し読みできます

課題1 「重複のない4桁の乱数を生成する」

数当てゲーム
を行うプログラム

[出典]平成18年度 秋期 午後試験 問6

課題1 「重複のない4桁の乱数を生成する」

 プログラムが生成した目標数をユーザーが推測する数当てゲームを作成します。 手始めに目標数をランダムに生成する関数createRandomNumber()と、ユーザーから入力された推測数がルールに違反していないかチェックする関数isValidNumber()を作成してください。

 目標数と推測数のルールは「各桁の数字がすべて異なる4桁の数字列」です。 プログラム内ではこれらの数字をint型でなくchar型の配列に格納します。

 

目標数と推測数のルール

試し読みできます

ソースコードの雛形

  1. #include <stdio.h>
  2. #include <string.h>
  3. #include <stdlib.h>
  4. #include <time.h>
  5. /** 目標数の桁数 */
  6. #define DIGITS  4
  7. #define TRUE    1
  8. #define FALSE   0
  9. void createRandomNumber(char target[]);
  10. int isValidNumber(char num[]);
  11. /**
  12. *  @brief 重複のない数字列をランダムに生成する。
  13. *
  14. *  @param [out] target 目標数
  15. *  @return なし
  16. */
  17. void createRandomNumber(char target[])
  18. {
  19.     /** @todo 実装してください。 */
  20. }
  21. /**
  22. *  @brief 重複のない数字列かチェックする。
  23. *
  24. *  @param [in] num 推測数
  25. *  @retval TRUE    すべて異なる数字の場合
  26. *  @retval FALSE   それ以外の場合
  27. */
  28. int isValidNumber(char num[])
  29. {
  30.     /** @todo 実装してください。 */
  31.     
  32.     return TRUE;
  33. }
  34. int main(int argc, char *argv[])
  35. {
  36.     char target[DIGITS + 1];
  37.     int valid;
  38.     
  39.     /* 擬似乱数を初期化する。 */
  40.     srand( (unsigned int)time(NULL) );
  41.     
  42.     createRandomNumber(target);
  43.     valid = isValidNumber(target);
  44.     printf("%s is %d\n", target, valid );
  45.     
  46.     valid = isValidNumber("3474");
  47.     printf("3474 is %d\n", valid );
  48.     
  49.     return 0;
  50. }

h18a6_prev.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

擬似乱数って?

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題2 「マスターマインドを作成する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの雛形

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h18a6.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題3 「平均推測回数を表示する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h18a6_average.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題4 「組合せを用いてマスターマインドを解くAIを作成する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h18a6_ai.h

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h18a6_ai.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h18a6_ai_comb.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題5 「順列を用いてマスターマインドを解くAIを作成する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h18a6_ai_perm.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

課題6 「順列のみを用いてマスターマインドを解くAIを作成する」

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

h18a6_ai_perm10.c

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの解説

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)

ソースコードの分割

有料本のため、このページは読むことができません。

この本は有料です。閲覧するには購入する必要があります。
購入するにはしてください。
有料本の購入に関しては、こちらのマニュアルをご確認ください。
販売価格200円(税込)