首页 > 其他分享 >c语言作业之猜数字游戏

c语言作业之猜数字游戏

时间:2023-08-06 20:32:01浏览次数:39  
标签:语句 do 游戏 int void 作业 while printf 数字

//猜数字游戏
#include <time.h>
#include  <stdlib.h>

//void表示“无类型”,相应的void*为无类型指针,即1.对函数返回的限定;2.对函数参数的限定
//当函数不需要返回值时,必须用void限定   例如:void func(int a,char *b)
//当函数不允许接受参数时,必须使用void限定  例如:int func(void)
void menu()//先设置一个简易菜单
{

	printf("*****************************\n");
	printf("***  1.play     0.exit   ****\n");
	printf("*****************************\n");
}

//random的范围为0-32767
//rand_max为32767
void game()//设置游戏内容
{   
	int ret = 0;
	int guess = 0;
	//1.生成随机数
	ret = rand() % 100 + 1;//生成1-100的随机数;取模的范围为1-99,该代码+1是为了将范围扩大到100;使用rand函数得加上头文件<stdlib.h>
	//2.猜数字
	while (1)
	{
		printf("请输入数字:>");
		scanf("%d", &guess);
		if (guess > ret)
		{
			printf("猜大了\n");
		}
		else if (guess < ret)
		{
			printf("猜小了\n");
		}
		else
		{
			printf("恭喜你,猜对了!!!\n");
			break;//跳出do while循环语句
		}
	}
}

int main()
{
	srand((unsigned int)time(NULL));//unsigned int time是将time的类型进行修改为int(原为long);time(NULL)表示空指针;该代码是拿时间戳来设置随机数的生成起始点,且需要引用头文件<time.h> 
	//unsigned int为无符号整形,该类型只能表示大于等于0的值;signed int为带符号整形,该类型可以表示正数,负数或0
	//在该游戏中,我们需要的是1-100的正整数,所以要表明unsigned
	int input = 0;//设置一个输入的变量
	do//do while循环是先执行循环体,再判断条件是否成立;而while语句是先判断条件是否成立,再执行循环体
	{
		menu();//引用菜单
		printf("请选择:>");
		scanf("%d", &input);//输入数字
		switch (input)//switch分支语句
		{
		case 1://输入的数若为1,执行case 1,这里input为1,即判断do while循环语句为真,执行完游戏后再跳回do while循环语句
			game();//执行游戏
			break;//跳出switch语句
		case 0://若输入的数为0,则执行case 2,input为0,则在do while循环语句中为假,即跳出do while循环,结束代码
			printf("退出游戏\n");
			break;
		default://若输入两者之外的数,则执行default的情况
			printf("选择错误\n");//这里input为非0,即do while循环语句判断为真,跳出switch语句后再进入do while循环语句
			break;
		}
		
	} while (input);
	return 0;
}

我注释的很清楚了吧。

标签:语句,do,游戏,int,void,作业,while,printf,数字
From: https://blog.51cto.com/u_16170479/6986629

相关文章

  • 请输入一个字符串 由此可以得出这个字符串大写字母.小写字母.数字.符号的个数
    importjava.util.Scanner;publicclassDemo02{  publicstaticvoidmain(String[]args){    System.out.println("请输入一个字符串:");    Stringcc=newScanner(System.in).nextLine();    char[]arr=cc.toCharArray();    intc......
  • 力扣-有效的井字游戏
    1.问题描述用字符串数组作为井字游戏的游戏板board。当且仅当在井字游戏过程中,玩家有可能将字符放置成游戏板所显示的状态时,才返回true。该游戏板是一个3x3数组,由字符"","X"和"O"组成。字符""代表一个空位。以下是井字游戏的规则:玩家轮流将字符放入空位("")中。......
  • 记一次体验愉快的GameJam|上交复旦x72h极限游戏开发挑战赛
    太长不看版【上交复旦x72h极限游戏开发挑战赛作品《Colorful》宣传短片】 【腾讯×上交复旦72hgamejam极限游戏开发挑战赛作品《Colorful》全流程演示】 试玩demo下载链接:https://pan.baidu.com/s/1Xdksy97qF8Qac31H6nUGww 提取码:wmuq游戏简介:你说得对,但是《卡乐芙(col......
  • PPT| 钢铁行业数字化顶层规划汇报方案P96
    PPT共96页,由于篇幅有限,以下为部分资料.......
  • IP和数字互相转换
    IP和数字互相转换目录IP和数字互相转换IP转数字数字转ipIP转数字原理:IP的每段是0~255的整数,把每段转为8位的二进制后,再组合起来得到一个32位的二进制数,把这个32位的二进制数转换为十进制数以ip1.2.3.4为例分为4段1.2.3.4拆分为二进......
  • 关与井字游戏的实现
    基于C语言中,函数,循环,声明,时间戳等知识实现的井字游戏游戏规则:人与电脑下井字游戏,首先达成三连的获得游戏胜利 该图片为函数声明和需要使用的库函数ROWLIN是规定了游戏地图的大小下面三个库函数,第一个是用于打印等功能,第二和第三个共同构成时间戳使用简单代码实现的伪菜单,可以选择......
  • 笔记本电脑小键盘数字键的光标作用
    我的笔记本平时要使用home,end功能时,由于键位太小不好找,且要结合fn+键位的按法,非常麻烦如图通过NumLock切换小键盘数字键实现光标功能......
  • 代理IP:跨界电商和游戏产业的爬虫与出海之利器
    一、代理IP:简介与工作原理代理IP是一种通过中间服务器转发网络请求的技术,隐藏了用户的真实IP地址。在跨界电商和游戏产业中,代理IP充当着连接海外资源与用户的桥梁。代理IP的工作原理:当用户请求访问目标服务器时,请求首先经过代理服务器转发,代理服务器使用代理IP作为请求的源IP地址,将......
  • 洛谷 P1553 数字反转(升级版)
    题目描述给定一个数,请将该数各个位上数字反转得到一个新数。整数反转是将所有数位对调。小数反转是把整数部分的数反转,再将小数部分的数反转,不交换整数部分与小数部分。分数反转是把分母的数反转,再把分子的数反转,不交换分子与分母。百分数的分子一定是整数,百分数只改变数字......
  • FPS游戏服务器设计的问题 转
    https://gwb.tencent.com/community/detail/109177FPS游戏服务器设计的问题转3.3k浏览一、追溯去gameloft笔试,有一个题目是说:叫你去设计一个FPS(第一人称射击游戏),你是要用TCP呢还是要用UDP,说明理由。二、学习这是两篇网上找到的文章,写非常不错。当时笔试的......