私はC言語で「推測数」のゲームをプレイするプログラムを持っています。それは正しく実行されますが、ユーザが2つの数字(最初は1、もう一度は1)を入力すると、試行回数が限られているとプログラムが繰り返されます。ここで「推測数」Cしかし、文が正しく機能しない場合
は、プログラムのために私のコードです:
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
int main(void)
{
//----Guess a Number Game.-----------------------------------------
// srand and rand needs the #include <stdlib.h> library
srand(time(NULL)); //seeding the guess a number game with the system time, so the guess a # game always starts at a different point.
int guess;
int correctnum;
correctnum = rand();
printf("Enter a number:");
scanf("%i",&guess);
if(guess>correctnum) // If aa is greater than bb AND aa is greater than cc.
{
printf("Please enter another number, lower this time!");
scanf("%i",&guess);
main();
}
else if (guess<correctnum)
{
printf("Please enter another number, higher this time!");
scanf("%i",&guess);
main();
}
else if (guess==correctnum)
{
printf("You are a WINNER!\n");
printf("You guessed the number right and it was %i!\n",correctnum);
}
int repeat;
printf("Would you like to play again? 1=Yes and 2=No.");
scanf("%i",&repeat);
if(repeat==1)
{
main();
}
if(repeat==2)
{
printf("Hope you had a good time playing the game! See you soon!\n");
return 0;
}
}
は*** ***ループを使用して、再帰的に 'main'を呼び出さないでください。 –
あなたの質問については、実行する必要がある「反復回数」に制限はありません。 –
'main()'を呼び出す前に 'scanf()'を使い、関数の先頭でそれを再利用します。 – YaatSuka