首页 > 其他分享 >【C语言】用C语言写一个猜数字游戏

【C语言】用C语言写一个猜数字游戏

时间:2024-03-12 22:30:58浏览次数:16  
标签:数字 int C语言 break while printf input 100 游戏

目录

1.游戏规则

1.游戏开始,电脑会从1-100随机生成一个数
2.玩家在屏幕上输入猜的数字
3.电脑根据这两个数比较大小;若是猜大了,屏幕显示猜大了,若是猜小了,屏幕显示猜小了。
4.循环上面的操作,直至猜正确。

2.实现逻辑

1.首先还是打印一个菜单供玩家选择游戏还是退出程序。
2.选择游戏就要有随机数产生,rand()%100+1,这个函数就能让程序在1-100中随机寻找一个数字。
3.程序这里选择do while()语句,无论怎么样都先执行一次。
4.猜错了就一直循环猜。

3.代码展示

1.写一个do while语句进入循环

do
	{
		menu();
		printf("请选择->");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			break;
		default:
			printf("选择错误,请重新输入!\n");
			break;
		}

	} while (input);

2.生成一个随机数

srand((unsigned)time(NULL));

一旦调用 rand 函数,就会得到一个大于等于0且小于等于 RAND_MAX 的随机数。RAND_MAX的值取决于编程环境,即大于等于32767。

int r = rand() % 100 + 1;//这是大于等于 0 且 小于等于 a 的随机数。

3.打印菜单

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

4.进入游戏

void game()
{
	int r = rand() % 100 + 1;
	int input = 0;
	while (1)
	{
		printf("请输入猜得数字->:");
		scanf("%d", &input);
		if (r > input)
			printf("猜小了\n");
		else if (r == input)
		{
			printf("猜对了\n");
			break;
		}
		else
			printf("猜大了\n");
	}
}

5.完整代码

void menu()
{
	printf("********************************\n");
	printf("*********  猜数字游戏  *********\n");
	printf("****         1.play         ****\n");
	printf("****         0.exit         ****\n");
	printf("********************************\n");
}
void game()
{
	int r = rand() % 100 + 1;
	int input = 0;
	while (1)
	{
		printf("请输入猜得数字->:");
		scanf("%d", &input);
		if (r > input)
			printf("猜小了\n");
		else if (r == input)
		{
			printf("猜对了\n");
			break;
		}
		else
			printf("猜大了\n");
	}
}
int main()
{
	int input = 0;
	srand((unsigned)time(NULL));
	do
	{
		menu();
		printf("请选择->");
		scanf("%d", &input);
		switch (input)
		{
		case 1:
			game();
			break;
		case 0:
			break;
		default:
			printf("选择错误,请重新输入!\n");
			break;
		}

	} while (input);
	return 0;
}

4.结果展示

在这里插入图片描述

标签:数字,int,C语言,break,while,printf,input,100,游戏
From: https://blog.csdn.net/qq_52033647/article/details/136629537

相关文章

  • C语言字符函数和字符串函数
    前言今天这篇博客咱们一起来认识一些特殊的函数,在编程的过程中,我们经常要处理字符和字符串,为了方便字符和字符串,C语言提供了一些库函数,让我们一起看看这些函数都有什么功能吧!!!个人主页:小张同学zkf若有问题评论区见感兴趣就关注一下吧目录 1.字符分类函数2.字符......
  • 实验1 C语言输入输出和简单程序编写
    实验任务11_11#include<stdio.h>2intmain()3{4printf("O\n");5printf("<H>\n");6printf("II\n");78printf("O\n");9printf("<H>\n");10......
  • C语言学习笔记day3
    1.逗号运算符           逗号运算符连接的表达式,从左至右依次执行,最后一个逗号后面的表达式结果作为   整体的逗号表达式的结果2.sizeof运算符        sizeof(数据类型/变量名)        获得一个数据类型或者变量在内存中所占的......
  • c语言函数传递数组名
    c语言自定义函数中可以在形参中可以使用数组名作为传递代码示例如下#include<stdio.h>floatave(floata[]){ inti; floatb; floatsum=a[0]; for(i=1;i<10;++i) sum=sum+a[i]; b=sum/10; returnb;}intmain(){ floatnum[10],average; inti; for(i=0;i......
  • C语言以空格分割字符串
    方法一、使用<string.h>的strtok()函数原型:char*strtok(char*str1,constchar*str2);头文件:#include<string.h>功能:用指定的分隔符分解字符串参数: char*str1 为要分解的字符串constchar*str2 为分隔符字符串返回值: 返回下一个分割后的(位于最开始的)字......
  • 智慧城市中的数字孪生:构建城市数字生态的新思路
    目录一、引言二、数字孪生技术的内涵与特点三、数字孪生在构建城市数字生态中的作用1、促进城市治理现代化2、提升城市服务水平3、推动城市产业创新四、实施策略与发展思路1、加强技术研发与创新2、完善数据共享与协同机制3、推进数字孪生在城市管理中的应用4、培养......
  • abc234E 不小于X的数位构成等差数列的最小数字
    给定X,求不小于X的整数,满足各个数位正好构成等差数列。1<=X<=1E17直接枚举首项和公差,找出所有可行的解,取最优值即可。#include<bits/stdc++.h>usingnamespacestd;#defineintlonglong#definerep(i,a,b)for(inti=a;i<=b;i++)#defineper(i,a,b)for(inti=b;i>=a;......
  • GDPU unity游戏开发 滚动小球
      解锁你的游戏大门,适合小白入门看的,通过简单的实例大概了解unity的一些基本操作。常用快捷键 CtrlC/V/X/Z对应复制/粘贴/剪切/回退很多小白都惟手熟尔了,W物体对象的位置/平移/移动 ,E物体对象旋转,R物体对象缩放,Q/Alt中键用于场景的移动,右键/Alt左键用于场景的旋转,滚......
  • C语言数据结构实现酒店管理
    #include<stdio.h>#include<windows.h>#include<stdlib.h> #include<string.h>//用于用户验证 #defineMAX100//最大房间容量 #defineStytm20#definemAX1024//文件读取字符长 intfileHang(FILE*fp);intlength=0;//房间顺序 typedefintDataType;typ......
  • 实验1 C语言输入输出和简单程序编写
    1#include<stdio.h>usingnamespacestd;intmain(){ printf("O\n"); printf("<H>\n"); printf("II\n"); return0;}2#include<stdio.h>usingnamespacestd;intmain(){floata,b,c; scanf......