QA@IT
«質問へ戻る

質問を投稿

乱数の数当て

プログラミングのことをほとんど知らない初心者です。
C言語で乱数を用いた数当てゲームのプログラムを作りたいのですが判定が上手くいきません。

このように↓表示させたいのですが、

ゲームスタート!
整数を入力してください:**
(1回目)正解は、**より大きいです
整数を入力してください:**
(2回目)正解は、**より小さいです
整数を入力してください:**
(3回目)正解!

自分の作ったものをどう直せばいいのかわからないので教えていただきたいです。

#include
#include
#include

int getRandom(int max)
{
srand((unsigned int)time(NULL));
return rand() % max + 1;
}

int main(void)
{
srand((unsigned int)time(NULL));
int a;
int i;

printf("ゲームスタート!");

for(i = 0; ; i++){
printf("整数を入力してください:"); scanf("%d", &a);
printf("%d回目:", i + 1);

if (a = getRandom(100)) printf("正解!");
else if (a < getRandom(100)) printf("正解は、%dより大きいです\n", a);
else if (a > getRandom(100)) printf("正解は、%dより小さいです\n", a);
}
return 0;

}

プログラミングのことをほとんど知らない初心者です。
C言語で乱数を用いた数当てゲームのプログラムを作りたいのですが判定が上手くいきません。

このように↓表示させたいのですが、

ゲームスタート!
整数を入力してください:**
(1回目)正解は、**より大きいです
整数を入力してください:**
(2回目)正解は、**より小さいです
整数を入力してください:**
(3回目)正解!

自分の作ったものをどう直せばいいのかわからないので教えていただきたいです。

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

int getRandom(int max)
{
	srand((unsigned int)time(NULL));
	return rand() % max + 1;
}

int main(void)
{
	srand((unsigned int)time(NULL));
	int a;
	int i;
	
	printf("ゲームスタート!");
	
	for(i = 0; ; i++){
	printf("整数を入力してください:"); scanf("%d", &a);
	printf("%d回目:", i + 1);
	
	if (a = getRandom(100)) printf("正解!");
	else if (a < getRandom(100)) printf("正解は、%dより大きいです\n", a);
	else if (a > getRandom(100)) printf("正解は、%dより小さいです\n", a);
	}
	return 0;
}