For: no init and loop backwards
#include <stdio.h>
#include <stdlib.h> /* For rand() and srand() */
#include <time.h> /* For time() function */
void main()
{
int chosen = 0; /* The lucky number */
int guess = 0; /* Stores a guess */
int count = 3; /* The maximum number of tries */
int limit = 20; /* Upper limit for pseudo-random values */
srand(time(NULL)); /* Use clock value as starting seed */
chosen = 1 + rand()%limit; /* Random int 1 to limit */
printf("\nI have chosen a number between 1 and 20"
" which you must guess.\n");
for( ; count>0 ; --count)
{
printf("\nYou have %d tr%s left.", count, count == 1 ? "y" : "ies");
printf("\nEnter a guess: "); /* Prompt for a guess */
scanf("%d", &guess); /* Read in a guess */
/* Check for a correct guess */
if (guess == chosen)
{
printf("\nYou guessed it!\n");
return; /* End the program */
}
/* Check for an invalid guess */
if(guess<1 || guess > 20)
printf("I said between 1 and 20.\n ");
else
printf("Sorry. %d is wrong.\n", guess);
}
printf("\nYou have had three tries and failed. The number was %ld\n",
chosen);
}
Related examples in the same category