码迷,mamicode.com
首页 > 其他好文 > 详细

猜数游戏1.0

时间:2016-01-30 22:49:34      阅读:170      评论:0      收藏:0      [点我收藏+]

标签:

程序产生一个1-100的随机数,用户尝试尽可能少的次数猜出这个数。

#include<stdio.h>
#include<stdlib.h>
#include<time.h>

#define MAX_NUMBER 100

//external variable
int secret_number;

//prototypes
void initialize_number_generator(void);
void choose_new_secret_number(void);
void read_guesses(void);

int main(void)
{
    char command;

    printf("Guess the secret number between 1 and %d.\n\n", MAX_NUMBER);
    initialize_number_generator();
    do {
        choose_new_secret_number();
        printf("Anew number has been chosen.\n");
        read_guesses();
        printf("Play again? (Y/S) ");
        scanf(" %c", &command);
        printf("\n");
    } while (command == y || command == Y);

    return 0;
}

//initialize_number_generator:Initialize the random number generator using the time of day.

void initialize_number_generator(void)
{
    srand((unsigned)time(NULL));
}

//choose_new_secret_number:Randomly selects a number between 1 and MAX_NUMBER and stores it in secret_number.

void choose_new_secret_number(void)
{
    secret_number = rand() % MAX_NUMBER + 1;
}

//read_guesses:Repeatedly reads user guesses and tells the user whether each guess is too low, too high, or correct. When the guess is correct, prints the total number of guesses and returns.

void read_guesses(void)
{
    int guess, num_guesses = 0;

    for (;;) {
        num_guesses++;
        printf("Enter guess: ");
        scanf("%d", &guess);
        if (guess == secret_number) {
            printf("You won in %d guesses!\n\n", num_guesses);
            return;
        }
        else if (guess < secret_number)
            printf("Too low, try again.\n");
        else
            printf("Too high, try again.\n");
    }
}

 

猜数游戏1.0

标签:

原文地址:http://www.cnblogs.com/ning7/p/5171993.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!