 ### Program 88:Number Guessing Game

Program 88:
```#include<stdio.h>
main()
{
int i,num=51,flag=1,guess,count=0;
printf("Guess the number\n");
scanf("%d",&guess);
do
{

if(num==guess)
{
flag=0;
}
else if(guess<num)
{
flag=1;
printf("Your guess is lower than the number\n");
count++;
}
else
{
flag=1;
printf("Your guess is greater than the number\n");
count++;
}

if(flag==1)
{
scanf("%d",&guess);
}
} while(flag);

printf("Congrats! You guessed the number %d\n",num);
printf("Number of trails: %d\n",count);

}

```
Explanation:

1. The program starts with initializing
• num → To store number that user has to guess
• i Temporary variable
• flag→ To store  1 if user didnot guess correctly and 0 if user guessed it correctly
• count→ To store number of attempts/trails made by user before guessing the number correctly
2. ```printf("Guess the number\n");
scanf("%d",&guess);```
Taking guess number from user.
3. ```do
{

} while(flag);
```
Used do While because the loop should execute atleast once and has to be executed until user guess it correctly.
4. Main Logic goes here:
```
if(num==guess) {
flag=0;
}
else if(guess<num)
{
flag=1;
printf("Your guess is lower than the number\n");
count++;
}
else
{
flag=1;
printf("Your guess is greater than the number\n");
count++;
}

if(flag==1)
{
scanf("%d",&guess);
}```
5. As num=51. Let for the first guess given by user be guess=5.
• Iteration 1:
• ```if(num==guess) {
flag=0;
}```
Since 51 is not equal to 5 this if part won't execute
• 2nd if part guess<num(5<51) is true so flag=1 and prints that user guessed lower number and count will be incremented by 1.So now count=1 indicating 1 wrong attempt.
• Now flag=1. So
```
if(flag==1) {
scanf("%d",&guess);
}```
this if part at the end of loop will be executed and takes guess number again from user
• Now since flag=1 while loop continues to next iteration
• Now lets take guess=78
• Iteration 2
• ```if(num==guess) {
flag=0;
}```
Since 51 is not equal to 78 this if part won't execute
• 2nd if part guess<num(78<51) is false  this if part  also won't execute
• remaining this is else part
```
else{
flag=1;
printf("Your guess is greater than the number\n");
count++;
}```
So again flag=1 and prints guess number is greater.Now count will be incremented by 1.So now count=2. So now user attempted 2 times and guessed wrong one
• Now flag=1. So
```
if(flag==1) {
scanf("%d",&guess);
}```
this if part at the end of loop will be executed and takes guess number again from user
• Now since flag=1 while loop continues to next iteration
• Iteration 3: Now lets take guess=51
• ```if(num==guess) {
flag=0;
}```
Since 51 is equal to 51 .flag will become zero.flag=0
• Reamining if parts will be skipped and while loop will terminate.
6. ```printf("Congrats! You guessed the number %d\n",num);
printf("Number of trails: %d\n",count);```
Finally it displays Success message to user and prints number of times user attempted to guess the number correctly and in this case it is 2.

Output: 