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

【C语言】猜数字游戏

时间:2024-03-18 23:30:11浏览次数:21  
标签:rand 数字 int srand C语言 随机数 printf 100 游戏

代码如下:

#define _CRT_SECURE_NO_WARNINGS 1
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
void game()
{
	int r = rand() % 100 + 1;
	int guess = 0;
	while (1)
	{
		printf("请猜数字>:");
		scanf("%d", &guess);
		if (guess < r)
		{
			printf("猜小了\n");
		}
		else if (guess > r)
		{
			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);
	return 0;
}

运行结果:

32b4e6f74f4c4f22b774d1d316fa687e.png

一,C语⾔提供了⼀个函数叫 rand,这函数是可以⽣成随机数的,函数原型如下所⽰:

int rand (void);
rand函数的使⽤需要包含⼀个头⽂件是:stdlib.h   C语⾔中⼜提供了⼀个函数叫 srand,⽤来初始化随机数的⽣成器的,srand的原型如下:

void srand (unsigned int seed);
也可以写为:  
srand(0);
 

二,设置随机数的范围

如果我们要⽣成0~99之间的随机数,⽅法如下:

rand() %100; // 余数的范围是 0~99 如果要⽣成1~100之间的随机数,⽅法如下: rand()%100+1; //%100 的余数是 0~99,0~99 的数字 +1, 范围是 1~100 如果要⽣成100~200的随机数,⽅法如下: 100 + rand()%(200-100+1) // 余数的范围是 0~100 ,加 100 后就是 100~200

 

标签:rand,数字,int,srand,C语言,随机数,printf,100,游戏
From: https://blog.csdn.net/Hugh_215/article/details/136742749

相关文章

  • oracle数字格式化
    问题起源我们在数据库中存储了利率等信息是小于1的查询出结果后直接转换为字符串,这时候就有问题了比如0.5取出来后变成.5这时候放到前端显得不伦不类。解决to_char修改数字的格式,常用的集中情况如下SELECT1,TO_CHAR(.08,'fm999999999990.00'),'小数格式化'FROMdualUN......
  • 亲子游戏【华为OD机试JAVA&Python&C++&JS题解】
    题目描述宝宝和妈妈参加亲子游戏,在一个二维矩阵(NN)的格子地图上,宝宝和妈妈抽签决定各自的位置,地图上每个格子有不同的糖果数量,部分格子有障碍物。游戏规则是妈妈必须在最短的时间(每个单位时间只能走一步)到达宝宝的位置,路上的所有糖果都可以拿走,不能走障碍物的格子,只能上下......
  • C语言wyh的物品
    题目描述wyh学长现在手里有n 个物品,这n 个物品的重量和价值都告诉你,然后现在让你从中选取k 个,问你在所有可能选取的方案中,最大的单位价值为多少(单位价值为选取的k个物品的总价值和总重量的比值)输入描述:输入第一行一个整数T(1≤T≤10)接下来有T组测试数据,对于每......
  • 数字人解决方案— SadTalker语音驱动图像生成视频原理与源码部署
    简介随着数字人物概念的兴起和生成技术的不断发展,将照片中的人物与音频输入进行同步变得越来越容易。然而,目前仍存在一些问题,比如头部运动不自然、面部表情扭曲以及图片和视频中人物面部的差异等。为了解决这些问题,来自西安交通大学等机构的研究人员提出了SadTalker模型......
  • C语言数据结构链表(无头结点)功能实现(增,删,改,查)
    #include<stdio.h>#include<stdlib.h>typedefstructLNode{   int data;   struct   LNode*next;}LNode,*LinkList; boolInitList(LinkList&L){    L=NULL;    return0; }boolinsert(LinkList&L,inti,intx){       ......
  • 深入C语言指针,使代码更加灵活(三)
    一、函数指针1.1函数的地址在讲解函数指针变量之前,我们先思考一下什么是函数指针变量,我们可以同数组指针变量进行类比:数组指针—是指针—是存放指向数组的指针,是存放数组地址的指针;函数指针—是指针—是存放指向函数的指针,是存放函数地址的指针;数组是有地址的,那么函数......
  • 华为OD机试真题-找数字-2024年OD统一考试(C卷)
    题目描述:小扇和小船今天又玩起来了数字游戏,小船给小扇一个正整数n(1<=n<=1e9),小扇需要找到一个比n大的数字m,使得m和n对应的二进制中1的个数要相同(如4对应二进制100,8对应二进制1000,1的个数都为1),现在求m的最小值。输入描述:输入:第一行输入一个正整数n(1<=n<=1e9)。输出......
  • 用C语言实现二分查找
    //二分查找,前提必须是有序#define_CRT_SECURE_NO_WARNINGS#include<stdio.h>intmain(){ intarr[]={1,2,3,4,5,6,7,8,9,10}; intsz=sizeof(arr)/sizeof(arr[0]);//求数组长度 intk=7;//要查找的数 intleft=0; intright=sz-1; intmid=0; i......
  • 学习笔记——C语言基本概念&运算符——(2)
    目录一、运算符1.1赋值运算符1.2算数运算符 1.3关系运算符1.5位运算符1.6 自增自减运算符1.7  复合运算符1.8逗号运算符1.9 三目运算符1.10 sizeof运算符附录:运算符优先性表一、运算符1>.按照操作数目分类:单目运算符,双目运算符,三目运算符。2>......
  • C语言随记————简单算法
    1.问题:如何在C语言中实现一个简单的线性查找算法? 答案:线性查找算法可以通过遍历数组的每个元素,逐一比较来查找目标值。以下是一个简单的实现示例:intlinearSearch(intarr[],intn,intx){for(inti=0;i<n;i++){if(arr[i]==x)re......