数当てゲーム-3~999の3の倍数を当てる(continue編)-【C言語】

数当てゲーム-3~999の3の倍数を当てる(continue編)

#include <stdio.h>
#include <time.h>
#include <stdlib.h>

#define MAX_STAGE 9

int main(void) {
  int i;
  int no;
  int ans;
  int count = 0;
  int stage = MAX_STAGE;

  srand(time(NULL));
  ans = (1 + rand() % 334) * 3;

  printf("%d回以内で3以上999以下の3の倍数を当ててください。\n", stage);

  while (stage > 0) {

    printf("いくつかな:");
    scanf("%d", &no);

    if (no % 3 != 0)
    {
      printf("3の倍数を入力してください\n");
      continue;
    }

    stage--;

    if (ans < no) {
      printf("もっと小さいよ。\n\n");
    }
    else if (ans > no) {
      printf("もっと大きいよ。\n\n");
    }
    else {
      break;
    }

    if (stage > 0) {
      printf("あと%d回。\n", stage);
    }
  }

  if (ans == no) {
    printf("正解です!%d回で当たりましたね。", MAX_STAGE - stage);
  }
  else {
    printf("残念。正解は%dでした。", ans);
  }

  return 0;
}

 

▷3~999の乱数

ans = (1 + rand() % 334) * 3;

1~333の乱数を生成した後、3倍する。

 

▷continue文

if (no % 3 != 0)
{
  printf("3の倍数を入力してください\n");
  continue;
}

3の倍数が入力されるまで繰り返す。

 

▷残り○回のカウント

if (stage > 0) {
  printf("あと%d回。\n", stage);
}

残り0回の時は表示しない

 

※ stageをデクリメントするタイミングにも気をつける

コメントを残す

あなたのメールアドレスは公開されません。必須項目には印がついています *