C Practice Example 94
C Language Classic 100 Examples
Title: Guessing Game.
Program Analysis: None.
Example
// Created by www.tutorialpro.org on 15/11/9.
// Copyright © 2015 tutorialpro.org. All rights reserved.
//
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void guessingGame(void)
{
int n;
char begin;
int count = 1;
srand((int)time(NULL));
int m = (rand() % 100) + 1;
puts("Game starts, please enter a number:");
while (1)
{
scanf("%d", &n);
if (n == m)
{
printf("You guessed it right, used %d attempts!\n", count);
if (count == 1)
{
printf("You are a god-level player! Admiration\n");
getchar();
printf("You have reached the highest level, do you want to play again? Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y') // Nested loop for repeated play
{
guessingGame();
}
else
{
printf("Thank you, goodbye!\n");
}
}
else if (count <= 5)
{
printf("You are a king-level player! Highly praised\n");
getchar();
printf("Do you want to challenge the highest level? Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y')
{
guessingGame();
}
else
{
printf("Thank you, goodbye!\n");
}
}
else if (count <= 10)
{
printf("You are a master-level player! Greatly praised\n");
getchar();
printf("Do you want to challenge the highest level? Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y')
{
guessingGame();
}
else
{
printf("Thank you, goodbye!\n");
}
}
else if (count <= 15)
{
printf("You are a diamond-level player! Highly commended\n");
getchar();
printf("Do you want to challenge the highest level? Y/N \n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y')
{
guessingGame();
}
else
{
printf("Thank you, goodbye!\n");
}
}
else
{
getchar();
printf("Your skills need improvement! Play again? Y/N\n");
scanf("%c", &begin);
if (begin == 'Y' || begin == 'y')
{
guessingGame();
}
else
{
printf("Thank you, goodbye!\n");
}
}
break;
}
else if (n < m)
{
puts("Too small!");
puts("Re-enter:");
}
else
{
puts("Too large!");
puts("Re-enter:");
}
count++; // Counter
}
}
int main(void)
{
guessingGame();
system("pause");
return 0;
}
The above example outputs the following results when run:
Game starts, please enter a number:
50
Too large!
Re-enter:
25
Too small!
Re-enter:
40
Too large!
Re-enter:
30
Too large!
Re-enter:
27
Too small!
Re-enter:
28
You guessed it right, used 6 attempts!
You are a master-level player! Greatly praised
Do you want to challenge the highest level? Y/N
N
Thank you, goodbye!