C语言程序设计-现代方法 第二版 第10.2.2 小节代码 猜数

第10.2.2 小节代码 猜数

//This is a comment
//Author:King
//Time:2020/12/6
//Reference:C Programming:A Modern Approach,Second Edition

/***************************************************************
10.2.2 小节代码 猜数 
****************************************************************/

#include <stdio.h>
//#include <stdbool.h> 	// C99 only
#include <time.h>
#include <stdlib.h>

#define MAX_NUMBER 100		

int secret_number;		//定义全局变量 

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",MAX_NUMBER);
	initialize_number_generator();
	
	do
	{	choose_new_secret_number();
		printf("A new number has been choosen.\n");
		read_guesses();
		printf("Play again? (Y/N) ");
		scanf(" %c",&command);			//此处%c前面必须加空格,加入空格后自动跳过空格录入空格后的第一个字符 ,参考本书P98页说明 
		printf("\n");		
	}
	while(command == 'Y' || command == 'y');
		
	system("pause");	//加入该函数后可以使得产生的exe单独运行,不会发生闪退。也可以加入其它函数使得main函数无法返回即可。如while(1)、getchar() 等 
	return 0;
	
}

void initialize_number_generator(void)
{
	srand((unsigned) time(NULL));	//初始化srand函数 
}

void choose_new_secret_number(void)
{
	secret_number = rand() % MAX_NUMBER + 1;	//产生1~100之间的随机数 
}

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",num_guesses);
			return;
		}			
		else if(guess < secret_number)
			printf("Too low; try again.\n");
		else
			printf("Too high; try again.\n");
	} 	
}












  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值