はじめての C

整数を引数にとり その二乗を返す関数を使ったプログラムを作成せよ。

  1. /* square */
  2. #include
  3. square (int x) {
  4. return x * x;
  5. }
  6. main()
  7. {
  8. int x;
  9. printf("Input x = ");
  10. scanf("%d", &x);
  11. printf("x * x = %d\n", square(x));
  12. }

ソースコード game.c を改良して レーダーで敵のコースが表示できる関数を使ったプログラムを作成せよ。

  1. /* game.2 */
  2. #include
  3. #include
  4. EnemyCource (int cource) {
  5. if (cource == 0) {
  6. printf("< 0....5 >\n");
  7. printf(" |E-----|\n");
  8. } else if (cource == 1) {
  9. printf("< 0....5 >\n");
  10. printf(" |-E----|\n");
  11. } else if (cource == 2) {
  12. printf("< 0....5 >\n");
  13. printf(" |--E---|\n");
  14. } else if (cource == 3) {
  15. printf("< 0....5 >\n");
  16. printf(" |---E--|\n");
  17. } else if (cource == 4) {
  18. printf("< 0....5 >\n");
  19. printf(" |----E-|\n");
  20. } else {
  21. printf("< 0....5 >\n");
  22. printf(" |-----E|\n");
  23. }
  24. }
  25. main()
  26. {
  27. int seed, distance, cource, goal, round, lazer, speed = 0;
  28. printf("Input seed = ");
  29. scanf("%d", &seed);
  30. srand(seed);
  31. printf("\n");
  32. for ( round = 1 ; round < 6 ; round++ ) {
  33. printf("+++ stage %d +++\n\n", round);
  34. cource = rand() % 6;
  35. speed++;
  36. for ( distance = 10 ; ; distance -= speed ) {
  37. if (distance <= 0) {
  38. printf("=== you lose (>_<) ===\n");
  39. exit(0);
  40. }
  41. if (cource == 0) {
  42. cource += rand() % 2;
  43. } else if (cource == 5) {
  44. cource += rand() % 2 - 1;
  45. } else {
  46. cource += rand() % 3 - 1;
  47. }
  48. printf("< current distance = %d >\n\n", distance);
  49. printf("select '1'(lazer) or '2'(fight)\n");
  50. printf("Input your choice = ");
  51. scanf("%d", &lazer);
  52. printf("\n");
  53. if (lazer == 1) {
  54. EnemyCource(cource);
  55. } else if (lazer == 2) {
  56. printf("select lazer cource 0 - 5\n");
  57. printf("Input your choice = ");
  58. scanf("%d", &goal);
  59. if (goal == cource) {
  60. printf(\n");
  61. printf("=== you win ! ===\n\n");
  62. break;
  63. }
  64. printf("\n");
  65. printf("=== miss the target ===\n\n");
  66. } else {
  67. printf(""set '1' or '2' only\n");
  68. }
  69. }
  70. }
  71. }

text: 金山典世さん(稚内北星)のページ