Подумайте о количестве от 1 до 100 в вашем уме. Затем ваша программа должна задать вам минимальное количество вопросов и определить свой номер на основе ваших ответов. Формат вопроса о программе будет NN (<, =,>)? Вы можете ответить на этот вопрос тремя способами: < указывает, что ваш номер меньше, чем предполагают компьютер, = означает, что программа угадывает ваш номер справа, а> означает, что ваш номер больше, чем предполагалось компьютером. Позвольте пользователю играть в эту игру любое количество раз. Когда пользователь готов выйти, выведите среднее число догадок/игры.Угадайте количество игр
Используйте отдельную функцию для игры. Вызывайте эту функцию из main() несколько раз по мере необходимости.
Так что вывод должен выглядеть следующим образом:
Угадай число от 1 до 100 (включительно), как и получить готовы ответить на несколько вопросов.
Это 50 (<, =,>)? <
Это 25 (<, =,>)? <
Это 12 (<, =,>)? >
Это 18 (<, =,>)? >
Это 21 (<, =,>)? <
Это 19 (<, =,>)? >
Ваше предположение 20
Это была хорошая игра! Вы хотите снова сыграть (y/n)? y
Угадайте число от 1 до 100 (оба включительно) и приготовьтесь ответить на несколько вопросов.
Это 50 (<, =,>)? >
Это 75 (<, =,>)? <
Это 62 (<, =,>)? >
Это 68 (<, =,>)? >
Это 71 (<, =,>)? =
Это была хорошая игра!
Вы хотите играть снова (y/n)? n
Это то, что у меня есть до сих пор. Однако функция playGame() даже не выполнена. Это дает мне значение 50 без каких-либо вычислений.
while ((round = 0)){
printf("How about %d", guess);
scanf("%c", &ans);
if((ans = '<')){
upper = guess;
guess = (upper+lower)/2;
}
else if ((ans = '>')){
lower = guess;
guess = (upper+lower)/2;
}
else {
round = 1;
printf("Your number is %d", guess);
}
}
return guess;
}
Пожалуйста, используйте 'fgets' в сочетании с' strcmp' для обработки пользовательского ввода: как 'зсапЕ ("% С", ...)' и 'зсапЕ ("% s ", ...)' неправильны (по разным причинам). Также принимайте ответ, так как исправлена ваша оригинальная проблема (задайте другой вопрос, если вам нужна дополнительная помощь). – anatolyg