Respuesta :
Answer:
This question is answered using C++ programming language.
#include<iostream>
#include <cstdlib>
#include <ctime>
using namespace std;
int main(){
int num, computerguess;
char response, hl;
cout<<"Choose your number: ";
cin>>num;
srand((unsigned) time(0));
int high = 20; int low = 1; int guess = 0;
computerguess = low + rand() % high;
cout<<"Is it "<<computerguess<<" ?y/n: ";
cin>>response;
while(response == 'n'){
cout<<"Higher or Lower? h/l: ";
cin>>hl;
if(hl == 'h'){ low = computerguess+1; }
else{ high = computerguess-1; }
guess++;
computerguess = low + rand() % high;
cout<<"Is it "<<computerguess<<" ?y/n: ";
cin>>response;
}
cout<<"I got your number of "<<num<<" in "<<guess+1<<" guesses.";
return 0;
}
Explanation:
This declares num (user input) and computerguess as integer
int num, computerguess;
This declares response (which could be yes (y) or no (n) and hl (which represents high or low) as char
char response, hl;
This prompts user for input
cout<<"Choose your number: ";
This gets user input
cin>>num;
This allows the computer be able to generate different random numbers at different intervals
srand((unsigned) time(0));
This declares and initializes the range (high and low) to 20 and 1 respectively. Also, the initial number of guess is declared and initialized to 0
int high = 20; int low = 1; int guess = 0;
Here, the computer take a guess
computerguess = low + rand() % high;
This asks if the computer guess is right
cout<<"Is it "<<computerguess<<" ?y/n: ";
This gets user response (y or n)
cin>>response;
The following iteration is repeated until the computer guess is right
while(response == 'n'){
This asks if computer guess is high or low
cout<<"Higher or Lower? h/l: ";
This gets user response (h or l)
cin>>hl;
If the response is higher, this line gets the lower interval of the range
if(hl == 'h'){ low = computerguess+1; }
If the response is lower, this line gets the upper interval of the range
else{ high = computerguess-1; }
This increments the number of guess by 1
guess++;
Here, the computer take a guess
computerguess = low + rand() % high;
This asks if the computer guess is right
cout<<"Is it "<<computerguess<<" ?y/n: ";
This gets user response (y or n)
cin>>response; }
This prints the statistics of the guess
cout<<"I got your number of "<<num<<" in "<<guess+1<<" guesses.";