Вопрос:
Напишите игру-угадайку, в которой пользователь должен угадать секретное число. После каждого предположения программа сообщает пользователю, было ли их число слишком большим или слишком маленьким. В конце необходимо указать количество попыток. Это считается только одной попыткой, если они вводят одно и то же число несколько раз подряд.
Мой код:
#include<stdio.h>
#include<stdlib.h>
int compare(int m) {
int b;
b=73-m; ///I chose my number as 73 here.
if (b=0) printf("Congrats, you won.");
else {
if (-5 < b < 5) printf("Very Close\n"); ///always gives me this output two times.
else {
if (-15 < b < 15) printf("Close");
else {
printf("You are far");
}
}
}
return b;
}
int main() {
int arr[100],guess,count=0,i,m; ///I have 99 tries.
arr[0]=0;
for(i=1 ; i<=100 ; i++) {
printf("Enter your guess\n");
scanf("%d",&guess);
if(guess==arr[i-1]) {
arr[i]=guess;
printf("Guess is same as the previous input.\n");
} else {
arr[i]=guess;
compare(guess);
if (m = compare(guess)) {
count=count+1; /// can i create a separate function to keep the count?
printf("%d is the number of tries.\n",count);
break;
} else {
printf("\n");
}
}
}
return 0;
}
Это всегда дает мне то же самое выводить два раза т.е. "Очень близко Очень близко". Я думаю, это либо неверный код (синтаксис), либо неправильный лог c. Также я хочу узнать лучший алгоритм / логи c с кодом для решения этого вопроса (возможно, короче). Наконец Я новичок в программировании с C в качестве моего первого языка.