精华内容
下载资源
问答
  • C语言猜数字游戏,范围为1到100,直到猜对为止,能重复进行多次

    具体代码:


    #define _CRT_SECURE_NO_WARNINGS
    
    #include <stdio.h>
    #include <stdlib.h>
    #include <time.h>
    
    void menu()
    {
    	printf("***********************\n");
    	printf("****0.exit  1.play*****\n");
    	printf("***********************\n");
    }
    
    void game()
    {
    	 int input = 0; 
         int tmp;
    	 tmp = rand()%100+1;//生成1到100范围内的随机数
    	 while(1)
    	 {
    		printf("请猜数字1到100:");
    		scanf("%d", &input);
            if (input==tmp)
    		{
    			printf("恭喜你,猜对了\n");
    			break;
    		}
    		else if (input>=tmp)
    		{
                   printf("猜大了\n");
    		}
    		else if (input<=tmp)
    		{
                   printf("猜小了\n");
    		}
    
    	 }
    }
    
    int main()
    {
    	int i = 0;
    	srand((unsigned int)time(NULL));//随机数生成器
      do
       {	
    	 menu();
    	 printf("请选择:");
    	 scanf("%d", &i);
    	 switch (i)
    	 {
    	 case 0:
    		break;
    	 case 1:
    		game();
    		break;
    	 default :
    		printf("输入有误");
    	 }
       }
      while(i);
    	return 0;
    }


    运行结果:




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

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

    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
    输入格式:
    输入第一行中给出两个不超过100的正整数,分别是游戏机产生的随机数、以及猜测的最大次数N。最后每行给出一个用户的输入,直到出现负数为止。
    输出格式:
    在一行中输出每次猜测相应的结果,直到输出猜对的结果或“Game Over”则结束。
    输入样例:

    58 4
    70
    50
    56
    58
    60
    -2
    

    输出样例:

    Too big
    Too small
    Too small
    Good Guess!
    

    我的答案

    
    
    #include <stdio.h>
    int main()
    {
    	int num, n;
    	int guess;
    	int count = 0;
    	scanf("%d %d", &num, &n);//又是忘记&
    	do
    	{
    		scanf("%d", &guess);
    		count++;//记得写次数
    		if (guess < 0 || count > n)//注意游戏结束要写在前面,写在后面会
    		{                         //先判断其他条件,这样不会结束了
    			printf("Game Over\n"); break;//这个break不写会超时
    		}
    		else if (guess > num)
    		{
    			printf("Too big\n");
    		}
    		else if (guess < num)
    		{
    			printf("Too small\n");
    		}
    		else if (guess == num)
    		{
    			if (count == 1)
    			{
    				printf("Bingo!\n");
    			}
    			else if (count <= 3) 
    			{ 
    				printf("Lucky You!\n"); 
    			}
    			else 
    			{
    				printf("Good Guess!\n"); 
    			}
    		}
    
    	} while (guess != num);
    	return 0;
    }
    

    写这种稍微复杂一点
    我就错误百出
    修改了好久
    还是要多写!

    这里里面有的复杂
    可以使用goto来简化

    #include <stdio.h>
    int main()
    {
    	int num, n;
    	int guess;
    	int count = 0;
    	scanf("%d %d", &num, &n);
    	do
    	{
    		scanf("%d", &guess);
    		count++;
    		if (guess < 0 || count > n)
    		{
    			goto case_1;
    		}
    		else if (guess > num)
    		{
    			printf("Too big\n");
    		}
    		else if (guess < num)
    		{
    			printf("Too small\n");
    		}
    		else if (guess == num)
    		{
    			goto case_2;
    		}
    
    	} while (guess != num);
    
    case_1:
    	printf("Game Over\n");
    	return 0;//记得写
    case_2:
    	if (count == 1)
    	{
    		printf("Bingo!\n");
    	}
    	else if (count <= 3)
    	{
    		printf("Lucky You!\n");
    	}
    	else
    	{
    		printf("Good Guess!\n");
    	}
    	return 0;//记得写
    }
    

    C 语言中 goto 语句的语法:

    goto label;
    ..
    .
    label: statement;
    

    在这里,label 可以是任何除 C 关键字以外的纯文本,它可以设置在 C 程序中 goto 语句的前面或者后面。

    在这里插入图片描述

    流程图
    在这里插入图片描述

    展开全文
  • C语言实现1到100简单猜数字游戏

    万次阅读 多人点赞 2019-01-26 11:18:54
    猜数字游戏就是系统随机生成一个数字,我们来猜的游戏。 这里我们约定 1表示玩游戏,0表示退出游戏。 那么怎么才能让系统随机生成一个数字呢?这里我们想到一个函数:rand()函数。 通过查阅MSDN软件我们可以...

    猜数字游戏就是系统随机生成一个数字,我们来猜的游戏。

    这里我们约定 1表示玩游戏,0表示退出游戏。

    那么怎么才能让系统随机生成一个数字呢?这里我们想到一个函数:rand()函数

    通过查阅MSDN软件我们可以看到rand()函数是一个返回值为int型的无参函数 ,而其返回的是0到RAND_MAX的一个随机整数。

    那么RAND_MAX是多大呢?

    在编程软件如VS2013中查看RAND_MAX的定义我们可以看到其是一个十六进制数

     将0x7fff通过程序员计数器转化为十进制得32767

    那么此时我们知道rand()函数返回的是0到32767的一个随机整数。此时系统随机生成数字的难题解决了。可是会发现该函数返回的整数可以大到上万,无疑猜数字的时候会有很大困难。

    为了让猜数字游戏变得简单有趣,我们可以让其产生0到100的随机数。那么怎么才能让rand()函数产生0到100的随机整数呢? 

    可以发现让rand()函数直接产生0到100的整数是不可能的。又因为任何一个数除以100的余数总是在0到99之间,所以只要让rand()的返回值模上100,便可随机产生0到100的整数。

    此时通过下述代码将系统生成的随机整数打印出来我们可以发现,生成的整数确实是随机的。但是当再一次运行程序的时候,我们会惊讶地发现此次运行程序所生成的随机数跟上一次运行程序所生成的随机数一模一样。这是为什么呢?

    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdlib.h>
    #include <stdio.h>
    void menu()
    {
    	printf("********************************\n");
    	printf("**********  1. play  ***********\n");    //输入1,表示玩游戏
    	printf("**********  0. exit  ***********\n");    //输入0,表示退出游戏
    	printf("********************************\n");
    }
    
    int main()
    {
    	int input = 0;
    	do{
    		menu();    //打印菜单
    		printf("请选择:");
    		scanf("%d", &input);
    		int ret = rand() % 100;
    		switch (input)
    		{
    		case 1:
    			printf("%d\n", ret);   //打印生成的随机整数
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("输入错误,请重新输入\n");
    			break;
    		}
    	} while (input);
    	system("pause");
    	return 0;
    }

    这是因为在调用rand()函数前,我们并没有设置随机生成的开始点。所以在调用rand()函数前,我们应该使用srand()函数设置随机生成数的开始点。那么srand()函数又是什么函数呢?

    再次查阅MSDN软件我们可以知道srand()函数是一个无返回值的参数为无符号整数的一个函数,其作用就是设置一个随机数的开始点。那么只要该函数的参数在变化,便可达到生成随机数的效果。

    所以现在需要做的就是给srand()函数传一个时刻在变化的参数。我们发现电脑上的时间一直在改变,用它作为该函数的参数刚好合适。那么此时又引出了一个时间函数--->time()函数

    可以发现time()函数是一个返回值为time_t类型的参数为指针类型的函数,其作用就是返回系统时间。

    那么time_t类型又是什么类型呢?再次将其转到定义我们可以发现time_t是一个__time64_t类型,而__time64_t又是一个整型。

     所以time()函数返回的是当前程序执行时的时间点与计算机起始时间(1970年1月1日零时零分零秒)之间的差值。将该差值作为srand()函数的参数时需要将其强转成unsigned int类型。此时由于我们只关心time()函数的返回值,而并不在意其参数,所以可以将time()函数的参数设置为一个空指针(NULL)。

    到这里我们便可以调用srand()函数和rand()函数了。

    srand((unsigned int)time(NULL));    //设置随机生成数的开始点
    rand()%100;    //生成随机数

    但是此时如果执行下述代码我们会发现,其实生成的随机数并不是那么随机。

    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdlib.h>
    #include <stdio.h>
    #include <time.h>
    void menu()
    {
    	printf("********************************\n");
    	printf("**********  1. play  ***********\n");
    	printf("**********  0. exit  ***********\n");
    	printf("********************************\n");
    }
    
    int main()
    {
    	int input = 0;
    	do{
    		menu();
    		printf("请选择:");
    		scanf("%d", &input);
    		srand((unsigned int)time(NULL));
    		int ret = rand() % 100;
    		switch (input)
    		{
    		case 1:
    			printf("%d\n", ret);
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("输入错误,请重新输入\n");
    			break;
    		}
    	} while (input);
    	system("pause");
    	return 0;
    }

    这是因为每玩一次游戏都会重新设置一次随机生成起点,导致每次生成的起点都很接近。如果在程序执行时只设置一次随机生成起点,此时生成的随机数便会更随机。所以将srand()函数放在do{}while();循环之前便可实现。具体实现代码如下:

    #define _CRT_SECURE_NO_WARNINGS 1
    #include <stdio.h>
    #include <windows.h>
    #include <time.h>
    //猜数字游戏(0-100)
    void game()
    {
    	int ret = rand()%100;   //rand():返回0到0x7FFF中的整数  
    	int cmp = 0;     //用户猜的数字
    	while (1)
    	{
    		printf("请猜数字:");
    		scanf("%d", &cmp);
    		if (cmp > ret)
    		{
    			printf("猜大了\n");
    		}
    		else if (cmp < ret)
    		{
    			printf("猜小了\n");
    		}
    		else
    		{
    			printf("恭喜你,猜对了\n");
    			break;
    		}
    	}
    }
    void menu()
    {
    	printf("********************************\n");
    	printf("**********  1. play  ***********\n");
    	printf("**********  0. exit  ***********\n");
    	printf("********************************\n");
    }
    
    int main()
    {
    	int input = 0;
    	srand((unsigned int)time(NULL));
    	do{
    		menu();  //打印菜单
    		printf("请选择:");
    		scanf("%d", &input);
    		switch (input)
    		{
    		case 1:
    			game();   //玩游戏函数
    			break;
    		case 0:
    			printf("退出游戏\n");
    			break;
    		default:
    			printf("输入错误,请重新输入\n");
    			break;
    		}
    	} while (input);   
    	system("pause");
    	return 0;
    }
    

     

    展开全文
  • c语言猜数字

    2019-10-26 14:28:37
    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜了。...

    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜到了。如果猜到,则结束程序。程序还要求统计猜的次数,如果1次猜出该数,提示“Bingo!”;如果3次以内猜到该数,则提示“Lucky You!”;如果超过3次但是在N(>3)次以内(包括第N次)猜到该数,则提示“Good Guess!”;如果超过N次都没有猜到,则提示“Game Over”,并结束程序。如果在到达N次之前,用户输入了一个负数,也输出“Game Over”,并结束程序。
    在这里插入代码片

    #include<stdio.h>
    int main()
    {
    	int number,N,i=0,x;
    	scanf("%d %d",&number,&N);
    	do
    	{
    		i++;
    		scanf("%d",&x);
    		if(x<0)
    		{
    		printf("Game Over");
    		x=number;
    		}
    		else if(i<=N)
    		{
    		if(x>number)
    		printf("Too big\n");
    		else if(x==number)
    		{ 
    		if(i ==1)
    		printf("Bingo!");
    		else if (i<=3) 
    		printf("Lucky You!");
    		else
    		printf("Good Guess!");
    		}
    		else 
    		printf("Too small\n");}
    		else
    		{
    		printf("Game Over");
    		x=number;
    		}
    	} 
    	while(x!=number);
    	return 0;
    }
    

    运行结果运行结果

    展开全文
  • 猜数字游戏规则: 1. 电脑随机产生100—999之间的数字(包括100、999); 提示:用rand函数,该函数在stdlib.h库中,并保证多次运行产生不同的随机数 2. 玩家每轮有七次猜数的机会,如果七次都没有猜,则失败,判...
  • 猜数字游戏: 计算机随机生成没有重复的n个数,由用户从键盘输入要猜测的数。每猜一次,电脑给出提示信息。如果用户输入的数跟计算机生成的数,数值和位置都完全相等,则胜出。 基本功能要求: 1. 随机生成没有...
  • C语言游戏猜数字

    2020-12-20 20:06:28
    本文实例为大家分享了C语言实现猜数字游戏的具体代码,供大家参考,具体内容如下 标题 1100之间我已经想好了一个数了,看你能不能猜,五次机会哦! 代码在此,请求出战! #include #include #include int ...
  • 今天为大家分享一个用c语言写的小游戏——猜数字。 这个程序的作用是会随机生成一个0-100的数字,然后玩家输入自己猜的数字,错误就继续猜,并且会提示猜大了还是猜小了,直到猜数字游戏结束。对于代码的内容,我...
  • [C语言]猜数字游戏

    2020-03-20 21:38:26
    [C语言]猜数字游戏。 猜一个1到100之间的整数,猜低则输出猜低,猜高则输出猜高,直到才对为止。 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <string.h> ...
  • 猜数字游戏: 计算机随机生成没有重复的n个数,由用户从键盘输入要猜测的数。每猜一次,电脑给出提示信息。如果用户输入的数跟计算机生成的数,数值和位置都完全相等,则胜出。 基本功能要求: 1. 随机生成没有...
  • C语言猜数字plus】

    2018-10-09 20:07:00
    应该都玩过猜数字游戏,即由系统生成一个1到100的随机数,用户猜测一个数,用键盘输入,系统会提示偏大还是偏小或猜测正确。 这里稍加改良,主要包括: 1、输入检测:用户输入必须为纯数字,否则要求重新输入。...
  • C语言猜数字游戏

    2020-08-08 14:36:41
    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜了。...
  • 计算机实习报告面向过程编程用C语言求解实际问题一、问题描述游戏类第15个任务——猜数字游戏任务描述:...计算机实习报告面向过程编程用C语言求解实际问题一、问题描述游戏类第15个任务——猜...
  • 猜数字游戏的核心思想为二分查找,玩家输入一个数,与计算机随机生成的数比较,如果玩家输入的数大了在屏幕上输出猜大了,小了输出猜小了,一直循环,直到猜为止。计算器其实时间为1970.1.1 00:00:00,计算机...
  • C语言编写猜数字游戏

    万次阅读 2017-07-27 20:09:16
    在编写一个猜数字游戏之前,我们来做一些铺垫工作: 1.函数铺垫 (1)rand:该函数是用来产生一个随机数(每次产生的随机数相同)。如:rand()%100相当于产生一个0~99之间的随机数; (2)srand:该函数作用是...
  • 最经典的猜数字游戏的例子来展示条件结构在程序中的作用,今天看到另外一种猜数字的玩法,也挺有趣:这个游戏由三个人一起玩,一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流猜,每次猜测之后...
  • 游戏内容:随机生成一个1~100数字,让玩家猜测,当玩家错的时候提示是大了还是小了。 首先我们先对内容进行分析。 1.我们需要随机生成一个范围在1-100的数据供玩家猜测 于是我们可以想到用rand()函数来实习 ret ...
  • 编程先由计算机“想”一个1100之间的数请人游戏者开始每一个数时有基本积分100分,错一次扣10分。如果人对了,在屏幕上输出人对此数获得的积分,以此来反映猜数者“”的水平,则结束游戏;否则...
  • 题目:完成猜数字游戏 ...v=rand()%100+1 //1到100的随机数 v=rand()%100 //0到99的随机数 #define _CRT_SECURE_NO_WARNINGS #include <stdio.h> #include <stdlib.h> #include <time.h> void ga...
  • 最经典的猜数字游戏的例子来展示条件结构在程序中的作用,今天看到另外一种猜数字的玩法,也挺有趣:这个游戏由三个人一起玩,一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流猜,每次猜测之后...
  • 本文主要向大家介绍了C/C++知识点之用...这个游戏由三个人一起玩,一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流,每次猜测之后,主持人就说出猜测的这个数比他心中的数字是大还是小,...
  • #include #include #include int game() {  int num = 0;  int ret = 0;  srand((unsigned int)time(NULL));  ret = rand();... ret = ret % 100;  while (1)  {  scanf("%d", &num);  
  • 猜数字游戏(C语言

    千次阅读 2018-10-24 09:19:09
    猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜了。...
  • C语言实现猜数字问题

    2020-02-17 21:26:06
    小时候老师让我们做过这么一个趣味游戏猜数字,他给出了一个1到100之间的数字,然后让全班同学猜,游戏规则是这样的:要是同学猜的数字大了,老师会给出提示:猜大了,同理小的老师也会给出提示,要是正确老师会给...
  • 最经典的猜数字游戏的例子来展示条件结构在程序中的作用,今天看到另外一种猜数字的玩法,也挺有趣:这个游戏由三个人一起玩,一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流猜,每次猜测之后...
  • 最经典的猜数字游戏的例子来展示条件结构在程序中的作用,这个游戏由三个人一起玩,一个人做主持人,心中默想一个1到100之间的数字,然后由其他两个人轮流猜, 每次猜测之后,主持人就说出猜测的这个数比他心中的...
  • 猜数字游戏是令游戏机随机产生一个100以内的正整数,用户输入一个数对其进行猜测,需要你编写程序自动对其与随机产生的被猜数进行比较,并提示大了(“Too big”),还是小了(“Too small”),相等表示猜了。...
  • 标题 1100之间我已经想好了一个数了,看你能不能猜,五次机会哦! 代码在此,请求出战! #include<stdio.h>... puts("这是一个神奇的猜数字游戏,如果你想玩的话,请按123继续,不想玩啊就按3...

空空如也

空空如也

1 2 3 4 5
收藏数 81
精华内容 32
关键字:

c语言猜数字1到100游戏

c语言 订阅