#include<stdlib.h>                   //rand头文件
#include<time.h>                     //time头文件
//猜数字游戏
void menu()
{
	printf("***************************\n");
	printf("***  1.paly    0.exit   ***\n");
	printf("***************************\n");
}

void game()
{
	int ret = 0;
	int guess = 0;    //接收猜的数字
		//拿时间戳来设置随机数的生成起始点
		//用time来重定义time_t(time_t*time)类型为长整型.
	ret = rand()%100+1;                                   //生成1-100的随机数
	                                                      //rand用于生成随机数,RAND_MAX=32767
	while (1)
	{
		printf("请猜数字:");
		scanf("%d", &guess);
		if (ret < guess)
		{
			printf("猜大了\n");
		}
		else if(ret>guess)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你,猜对了\n");
			break;
		}
	}                              
	
}

int main()
{	
	srand((unsigned int)time(NULL));         //srand为rand起始点,用time这个一直变化的量作为起始点来生成随机数,
	                                         //NULL为空指针
	                                         //srand在工程中出现一次就行。
	int input = 0;
	do
	{
		menu();
		printf("请选择:");
		scanf("%d", &input);
		switch(input)
		{
		case 1:
			game();         //开始游戏
			break;
		case 0:
			printf("退出游戏\n");
			break;
		default:
			printf("选择错误\n");
			break;
		}
		
	}
	while (input);
	return 0;
}
*/

开头先给出菜单,1为开始游戏,0为退出游戏。定义game函数,难点在于如何生成一个随机数,要用到rand、srand和指针,其中srand为rand随机值的起点,并以变化的时间戳为起始点,否则虽然生成的数时随机的,但每次生成的随机数都相同。

game函数中,输入你猜的数字,输出会提醒猜大了还是猜小了,如此循环,直至猜对生成的随机数。

然后主函数中使用Switch语句,实现游戏的开始和退出。

简易版猜数字游戏,任有待改进。