rand()函数会产生一个随机值,在同一工程下,随机值一样。

srand()函数使在同一工程下的随机值每次不同,用此函数要加头文件#include<time.h>。

编写主函数以外的函数fun(),game()和rank()。

代码如下:

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

void game(int times)
{
	int ret,input,i;
	printf("欢迎使用猜数字游戏");
	srand((unsigned int)time(NULL));/*设置随时间变化的随机数*/
	ret=rand()%100;/*产生0~100随机数*/
	for(i=0;i<times;i++)
    {
    	printf("请输入数字:\n");
    	scanf("%d",&input);
	    if(input<ret)printf("你猜小了,请重猜。\n");
	    else if(input>ret)
	    {
	    	printf("你猜大了,请重猜。\n");
	    }
		else 
		{
			printf("恭喜你猜对了。\n");break;
		}	  
    }
    if(i==times)
    {
    	printf("挑战失败。");
    }
}

void rank(choose)
{
	int t=0,times=0;
	printf("请输入1~3(1为简单,2为一般,3为困难)");
	scanf("%d",&choose);
	if(choose==1)
	{
		printf("自定义输入次数:");
		scanf("%d",&t);
		times=t;
	}
	if(choose==2)
	{
		times=6;
	}
	if(choose==3)
	{
		times=3;
	}
    game(times);
}

void fun()
{
	    printf("\n\n\t\t\t\t猜数字游戏\n");
		printf("\t\t\t***************************\n");
		printf("\t\t\t*******1、开始游戏。*******\n");
		printf("\t\t\t*******2、游戏级别。*******\n");
		printf("\t\t\t*******0、结束游戏。*******\n");
		printf("\t\t\t***************************\n");
}

int main()
{
	int slect=1,choose=1,times=30;
	while(slect)
	{
		fun();
		printf("请选择序号:");
		scanf("%d",&slect);
		switch(slect)
		{
			case 1:game(times);break;
			case 2:rank(choose);break;
			default:break;
		}
	}
   system("pause");
	return 0;
}