精华内容
下载资源
问答
  • 猜数字游戏c语言

    2020-11-14 19:55:46
    猜数字游戏c语言) 编译环境:vs2013 题目: 系统随机给出在一个数字,限制在一定范围内,用户进行猜测,会对用户进行大小提示。 思路: 用户在程序之外输入一个随机数; 如果比随机数大,就输出太大了; 如果比...

    猜数字游戏(c语言)

    编译环境:vs2013

    题目:

    系统随机给出一个数字,限制在一定范围内,用户进行猜测,会给用户提示大小。
    

    思路:

    用户在程序之外输入一个随机数;
    如果比随机数大,就输出太大了;
    如果比随机数小,就输出太小了;
    如果与随机数相等,就输出你猜中了。
    

    首先,生成一个随机数。我们要明确获得随机数,需要使用rand函数,rand() 会随机生成一个位于 0 ~ RAND_MAX 之间的整数,我们不需要知道RAND_MAX的值只需要把它当作一个很大的值。别忘记引用time()函数的头文件:

    #include<stdlib.h>

    但是,我们在使用中会发现,随机获得的数每次都一样,这是因为随机数是根据另一个值得到的,这个值叫做“种子”,种子会在每次启动计算机时随机一个,但是启动之后它就不会改变。我们为了避免每次随机到的数一样,需要通过srand()函数来重新“播种”,这样种子就会发生改变。
    我们在实际开发中可以用系统时间来做种子,种子不同,最终的随机数也就会不同。

    #include<stdlib.h>
    #include<time.h>
    int game()
    {
    	srand(time(NULL));
    	int num=rand()%100;       //大于100的数字最后都会被取余下来成0~99的数字
    }

    为了限定一个不要太大的范围,可以通过%100,将范围限定在0~99之间。
    之后,就是运用if条件语句判断,如果输入的数大于生成数—>提示"太大了";如果输入的数小于生成数—>提示"太小了";如果输入的数等于生成数—>提示"恭喜你猜对了!"。

    主体:

    我们可以先设置一个菜单

    void menu()
    {
    	printf("**********************************\n");
    	printf("*****       1、play          *****\n");
     	printf("*****       0、exit          *****\n");
     	printf("**********************************\n");
    }

    然后编写游戏模块

    int game()
    {
    	srand(time(NULL));
    	int num=rand()%100;
    	while(1{
    		int input;
    		printf("请输入你猜测的数字:");
    		scanf("%d",&input);   //注意:scanf的%d后面没有空格或\n
    		if(input>num)
    		{
    			printf("太大了\n");
    			continue;
    		}
    		if(input<num)
    		{
    			printf("太小了\n");
    			continue;
    		}
    		printf("恭喜你猜对了!\n");
    		break;
    	}
    	return 0;
    }

    然后是主函数部分

    #include<stdlib.h>
    #include<time.h>
    #include<stdio.h>
    int main()
    {
    	int input=0;
    	do
    	{
    		menu();
    		printf("请选择:\n");
    		scanf("%d",&input);
    		switch(input)
    		{
    		case 1:
    			game();
    			break;
    		case 0:
    			printf("退出游戏\n");
    			bresk;
    		default:
    			printf("输入错误\n");
    			break;
    		}
    	}while(input); 
    	return 0;
    }

    运行结果

    在这里插入图片描述

    猜数字游戏逻辑比较简单,但我们需要搞清楚每个细节,不断积累自己的代码量。

    展开全文
  • 猜数字游戏C语言

    万次阅读 多人点赞 2019-03-24 20:25:33
    程序产生一个0~99的随机整数,从1键盘输入数字开猜数字

    猜数字游戏

    编译环境VS2017

    猜数字游戏,顾名思义,是需要人们猜测一个未知但已确定的数,此问题中还规定了范围0~99。其中,这个未知但要确定的数就要由编写程序来产生,当这个数生成后我们猜数字,程序告诉我们猜的高了,低了,或猜对了来提示我们猜数。

    这个未知但已确定的数我们可以用随机数来代替,运用rand()函数可以产生产生随机数,但产生的随机数并不是真正意义上的随机数,因为rand的内部实现是用线性同余法做的,他并不是真的随机数,只不过是因为其周期特别长,所以有一定的范围里可看成是随机的。
    rand()会返回一随机数值,范围在0至RAND_MAX 间。在调用此函数产生随机数前,必须先利用srand()设好随机数种子,如果未设随机数种子,rand()在调用时会自动设随机数种子为1。rand ()产生的是假随机数字,每次执行时是相同的。若要不同,以不同的值来初始化它.初始化的函数就是srand()。
    srand()用来设置rand()产生随机数时的随机数种子。其参数必须是个整数,通常可以利用time(0)的返回值来当做参数。如果每次参数都设相同值,rand()所产生的随机数值每次就会一样。
    例如:当不设置随机数种子时每次产生随机数都一样,如下

    int num[10];
    	for (int i =0; i < 10; ++i) {
    		num[i] = rand()%100;
    		printf("%d\t", num[i]);
    	}
    

    这段代码每次运行产生的随机数列都不变如下:
    在这里插入图片描述
    当设置变化的随机种子后
    即添加代码srand((unsigned int)time(0));

    
    	int num[10];
    	srand((unsigned int)time(0));
    	for (int i =0; i < 10; ++i) {
    		num[i] = rand()%100;
    		printf("%d\t", num[i]);
    	}
    

    即运行结果为:

    在这里插入图片描述

    再次运行结果为
    在这里插入图片描述
    可以看出,设置变化的时间戳作为随机种子后生成的随机数组不再重复
    需要注意的是time(0)返回值与srand()中参数类型并不同,srand()中参数类型为unsigned int型,为避免警告,需要进行类型强制转换
    具体实现如下:

    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
    void Menu() {
    	printf("**************************\n");
    	printf("   1.开始游戏\n");
    	printf("   0.退出游戏\n");
    	printf("**************************\n");
    	printf("请输入您的选择\n");
    }
    void fun() {
    	int x;
    	srand((unsigned int)time(0));//用时间戳来改变每次产生的随机数序列
    	int to_guess = rand() % 100;//产生0到99的随机整数
    	while (1) {
    		printf("请输入您猜的数字\n");
    		scanf("%d", &x);
    		if (x > to_guess) {
    			printf("高了\n");
    		}
    		else if (x < to_guess) {
    			printf("低了\n");
    		}
    		else {
    			printf("猜对了\n");
    			break;
    		}
    	}
    }
    int main() {
    	int num;
    	Menu();
    	scanf("%d", &num);
    	system("cls");
    	if (num == 1) {
    		fun();
    	}
    	if (num == 0) {
    		printf("再见!\n");
    	}
    	system("pause");
    	return 0;
    }
    
    

    运行结果如下:
    在这里插入图片描述
    在这里插入图片描述
    再次运行后:
    在这里插入图片描述

    展开全文
  • 猜数字游戏c语言

    2019-04-28 16:07:56
    游戏内容:玩家输入一个数字程序生成一个随机数,比较其和随机数的大小。若相等,则提示玩家对了;不相等,则提示玩家大了还是小了,直到玩家对。 注意:生成随机数需要调用rand函数。 rand 函数: 生成...

    游戏内容:玩家输入一个数字,程序生成一个随机数,比较其和随机数的大小。若相等,则提示玩家猜对了;不相等,则提示玩家猜大了还是猜小了,直到玩家猜对。
    注意:生成随机数需要调用rand函数。
    rand 函数:
    生成随机数返回在0和RANDMAX之间的伪随机整数。这个数字是由一个算法生成的,该算法在每次调用时返回一系列明显不相关的数字。该算法使用一个种子来生成序列,该序列应该使用函数srand初始化为一些独特的值。
    范围:
    v1 = rand() % 100; // v1 in the range 0 to 99
    v2 = rand() % 100 + 1; // v2 in the range 1 to 100

    //猜数字游戏。
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    #include<time.h>
     
    	int menu()//给玩家提供一个菜单选项(开始游戏/退出游戏)
    	{
    		int choice = 0;
    		printf("***********************\n");
    		printf("****** 1.开始游戏 *****\n");
    		printf("****** 0.退出游戏 *****\n");
    		printf("***********************\n");
    		printf("请输入你的选项:\n");
    		scanf("%d", &choice);
    		return choice;
    	}
    	//开始游戏。
    	void game()
    	{  //生成随机数[1-100],调用rand函数 。
    		int random_num = rand() % 100 + 1;
    		int input = 0;
    		while (1)
    		{
    			printf("请输入猜的数字:\n");
    			scanf("%d", &input);
    			if (input > random_num)
    			{
    				printf("您猜大了。\n");
    			}
    			else if (input < random_num)
    			{
    				printf("您猜小了。\n");
    
    			}
    			else
    			{
    				printf("恭喜你猜对了!\n");
    				break;
    			}
    		}
    	}
    	int main()
    	{   //设置一个不固定的随机数(时间戳)
    		//时间戳:以1970年1月1日0时0分0秒为基准计算当前时刻与基准的时间差。
    		srand((unsigned int)time(0));
    		while (1)
    		{
    			int choice = menu();
    			if (choice == 1)
    			{
    				game();//开始游戏
    			}
    			else
    			{
    				printf("再见。\n");
    				break;
    			}
    		}
    		system("pause");
    		return 0;
    	}
    
    
    展开全文
  • 猜数字游戏c语言程序

    千次阅读 2009-12-12 14:12:00
    题目:猜数字游戏 功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了,还是小了,继续猜,直到猜到,给出所用时间、次数和评语(要求评语多样性、滑稽)。 界面要求:简洁 二.设计概要该程序是由: 1....

    一.题目:猜数字游戏

       功能要求:计算机产生随机数,猜中即胜,猜不中,提示是大了,还是小了,继续猜,直到猜到,给出所用时间、次数和评语(要求评语多样性、滑稽)。

       界面要求:简洁

     

    二.设计概要

    该程序是由:      1.生成随机数函数    2.计时函数    3.循环体   4.评语    

     

    5.判断语句   6.输入输出函数     等部分组成。

     

    .流程图

    y’                       判断是否开始游戏

     

     

    ‘’n

    开始游戏生成一个随机数,

     

     

     

    输入所猜的数guess

                              guess>i?

      

     

    提示大了

    guess<i?

     

    提示小了

     

    guess=i      

    输出所用时间

    给出评语和所用次数j

    判断是否继续

    yy

     

           n

    继续循环

    结束循环

       

     

     

    四.源程序

     

    #include "time.h"

    #include "stdlib.h"

    #include "stdio.h"

     

    main()

    {

    char c;

     

    time_t a,b;       /*分别记录开始和结束时间*/

     

    int i,guess,j=1;

     

    srand(time(NULL));

     

    printf("/n*****你准备好了吗???*****.('y' or 'n') /n");      /*提示是否开始*/

     

     

    loop:

     

    while((c=getchar())=='y')

     

    {

     

    i=rand()%100;     /*计算机产生一个随机数*/

     

    printf("/n****请开价:****/n");     /*提示输入一个数*/

     

    a=time(NULL);      /*记录开始时间*/

     

    scanf("%d",&guess);      /*输入一个数*/

        

    while(guess!=i)

     

    {

    printf("/n[%d次尝试]/n",j);    /*提示第几次尝试*/

     

    j++;

    {

     

    if(guess>i)

     

    {

    printf("/n****小样弄这么多,是不是想找茬????****/n");    /*提示大了*/

     

    scanf("%d",&guess);

     

    }

     

    else

     

    {

    printf("/n****老板能多给我加点不????****/n");     /*提示小了*/

     

    scanf("%d",&guess);

    }

    }

     

    }

     

    b=time(NULL);

     

    printf("/n小样你花去 %6.3f/n/n/n",difftime(b,a));    /*显示所用时间*/

     

    if(j<5)

     

    printf("/n**** 真人不露相啊!!!!**** /n");    /*给出评语*/

     

    else if(j<10)

     

    printf("/n****蛮牛的嘛!!!!/n");    /*给出评语*/

     

    else if(j<20)

     

    printf("/n****加油啊!!!!****/n");   /*给出评语*/

     

    else

     

    {

    printf("/n**** 小样比慢你认第一没人敢认第二 !****/n");   /*给出评语*/

     

        printf("/n****不过你的勇气可嘉!!!! ****/n");   /*给出评语*/

    }

    {

    printf("/n****你共挑战%d****/n",j);     /*显示所用次数*/

     

    printf("/n****你要的答案是 :%d****/n",i);     /*显示答案*/

    }

     

     

    }

     

           printf("/n****还想挑战自己吗????****(/"yy/".or./"n/")/n");    /*询问是否继续*/

     

       if((c=getchar())=='y')

      

       goto loop;     /*继续循环*/

       

       system("pause");     /*结束循环*/

       

       return 0;

    }

    展开全文
  • 今天给大家带来一个猜数字游戏,这是我个人接触到的第一个比较完整的游戏程序了,我觉得还蛮好玩。 由于我是再linux下编写的,可能有些地方和windos不一样,只需要做一些小改动就好~ 代码如下: 如果你玩了觉得...
  • C语言 猜数字游戏程序 可设置猜测个数和次数
  • 猜数字游戏(C语言

    千次阅读 2018-10-24 09:19:09
    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。...
  • 本题出自中国大学mooc 浙大翁恺老师C语言程序设计编程练习解析4-4 #include <stdio.h> int main(){ int m, n, x, flag; scanf("%d %d", &m, &n); //m为要的数,n为的次数上限 flag =...
  • printf("这是一个猜数字游戏!游戏开始时!\n"); srand(time(NULL)); while(true) { chones = 1 + rand() % limit; printf("这是一个猜数字游戏(范围1~20)\n"); for( unsigned int count = max ; ...
  • 猜数字游戏c语言程序

    2009-06-17 09:34:17
    #include #include #include #include /************************************************************/ int menu(); int Level(); void start(int x); void list(); void help(); int quit();...do{
  • PTA-----猜数字游戏C语言

    千次阅读 2019-01-22 22:55:52
    猜数字游戏 (15 分)猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”)...
  • 猜数字游戏C语言

    2015-01-16 15:53:54
    C语言编写的猜数字游戏,可以实现选择难度,选择输入次数的程序,供大家分享。
  • 猜数字游戏 c语言实现 猜4位随机生成的数 每次给猜测提示直到猜对 包含程序流程图
  • c语言课程设计猜数字游戏精选资料课 程 设 计 报 告课程名称 C语言程序设计课题名称 猜 数 字 游 戏专 业 机械设计及其自造化班 级 1185班学 号 201113090516姓 名指导教师 王 颖2 0 1 2年 6 月 2 2 日湖南工程学院...
  • 猜数字游戏 C语言

    2017-11-20 18:43:53
    完成猜数字游戏,生成一个随机数,然后从键盘输入一个数,猜对了程序结束,猜大或猜小程序继续运行。 #include #include #include  int main()  {  int num = 0;  int n = 0;  int i = 0;  srand...
  • 猜数字游戏 本网所有内容文字、图片和音视频资料,版权均属个人所有,仅供个人呢学习参考,任何媒体、网站或个人未经本网协议授权不得转载、链接、转贴或以其他方式复制发布/发表。 1.电脑生成随机数 2.猜数字 #...
  • 7.4 自顶向下的设计 顶层设计 main)函数主要应具备的功能 实现这些功能时应重点关注的数据参数和返回值 顶层设计一般设计如下内容 7.4 自顶向下的设计 子层设计 子层设计是对顶层中每一个模块重复使用自顶向下设计...
  • 一个好玩又简单的猜数字游戏,快试试吧! #include <stdio.h> #include <stdlib.h> #include <time.h> void menu() { printf("************************\n"); printf("***1.play 0.exit***\n");...
  • C语言猜数字游戏

    2019-08-31 20:39:45
    C语言猜数字游戏 猜数字小游戏,随机生成一个数,用户去猜, 若用户猜的大了 ,提示用户猜的太大了, 若用户猜的小了,提示用户猜的太小了, 若用户猜中了,恭喜您猜对了. 程序: void game() { int random_num = ...
  • 2、写一个game函数,完成猜数字游戏的过程。 3、主函数,调用game函数,最终实现猜数字游戏。 重点:如何生成一个随机数。 如果直接使用to_guess = rand() 0 + 1,可以生成一个1~100之间的随机数,但每次重新运行...
  • 猜数字游戏,通篇没有什么难点,比较容易理解。 #include <stdio.h> #include <stdlib.h> #include <time.h> int main(){ int val = 0,guess = 0; srand(time(0)); val = rand() % 100; do{ ...
  • 游戏内容:随机生成一个1~100的数字,让玩家猜测,当玩家错的时候提示是大了还是小了。 首先我们先对内容进行分析。 1.我们需要随机生成一个范围在1-100的数据供玩家猜测 于是我们可以想到用rand()函数来实习 ret ...
  • c语言 猜数字游戏

    2020-03-15 21:22:43
    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。...
  • 这个是我自己写的一个猜数字游戏,是我自认为写的还算比较行的程序,有意者自行下载

空空如也

空空如也

1 2 3 4 5 ... 13
收藏数 256
精华内容 102
关键字:

猜数字游戏程序c语言

c语言 订阅