初阶c语言(练习题,猜随机数,关机程序)
目录
第一题,使用函数编写一个随机数,然后自己猜,猜随机数
第二道题(关机程序)
实现代码(关机程序)
实现代码(猜数字)
前言:
学习c语言,学习来源b站鹏哥,37天吧应该是
内容:
这集内容挺多,源代码放到文章最后
第一题,使用函数编写一个随机数,然后自己猜,猜随机数
这里囊括了很多的知识点,理解起来有点吃力,写起来也很吃力,所以慢慢来,我不会奔溃的
首先利用了do while函数
这个函数的知识点,虽然只有一点点,但是合起来就有点麻烦,因为简单,所以没讲什么,
所以到用的时候,我就发现了一个问题,就是忘记了怎么写了
就是这个逻辑,do后面没有括号,然后就是while后面有括号
注意事项
do //每次循环都会执行do里面的语句
{
}
while()
{
}
然后函数可以嵌套一个函数,这也是非常常见的,大部分应该都支持嵌套
嵌套一个switch函数,这个是选择语句,输入一个值,看条件是否成立,这也是之前学的,全都用到了
switch("接受一个变量"),这个函数需要接收变量,然后进入循环,看这个变量对应循环的哪个判断语句,都不相等,则进入default,相当于if else的else
接收一个变量,但是输入0的话,才会退出程序,这应该是判断语句的
switch("变量")
{case 1: //这里的1就对应变量switch括号里接收的值{printf("xxx"); //我记得执行一条语句不需要加大括号,但是这好像是两条,不管了break; //发现了,老师也没加括号,这个应该不要加大括号}case2:{printf("xxx");break;}default:{printf("xxx");break;}}
运用到了void函数的无返回值,我之前稍微写了一下,对void稍微晓得一点,就是不用在函数里有输入return 0;这些,可以在函数里调用,然后就可以了,相当于一个功能点的样子
接下来编写随机值的函数,就是程序的主要部分
rand()函数,生成随机数的函数,但是这是伪随机数,就是说每次生成随机数的都是固定的,所以要配合时间戳,来实现时间戳的真随机,来实现函数的生成的真随机数
这个需要注意的是,就是头文件,就相当于实现一个功能需要的文件吧
rand函数的随机数的范围是
0~RAND_MAX(32767)
rand函数需要这个头文件
#include <stdlib.h>
void menu()
{printf("***********************\n");printf("********猜数字游戏******\n");printf("********play 1********\n"); printf("********exit 0********\n");
}void game()
{int ret = rand(); //生成一个随机数,用一个变量接收 printf("%d\n", ret);
}
但是这样子不能实现数字的真随机生成,需要配合rand函数的另一个功能
srand(),接受一个整型的变量,就是这里面的数字是随机的,那rand生成的数字就是随机的,很像套娃,对了,就是,但是这里的随机数可以用时间来代替,因为时间是唯一的,也都是整型,就可以实现随机数的生成
这段代码还是有错误的,因为我就是他随机值还是固定的,就是说有一个时间戳没有搞好
void game()
{//1、生成随机数//0~99 --> 1~ 100int ret = rand()%100 +1;while(1){printf("请输入数字:>");scanf("%d", &guess);if (guess < ret){printf("太小了\n"); }else if(guess > ret){printf("太大了\n");}else{printf("恭喜你猜对了\n");}} }
不知道这个为啥会输入在主函数里面
srand((unsigned int)time(NULL));
然后我试了一下放到game的函数里面,如果我刷新过快的,他的两个随机值是相同的情况
和老师讲的情况是一样的,但是我忘记老师说的为啥了,应该是放主函数更新速度快一点?
这个应该就是调用时间戳来实现,真正的随机数生成,应该就是rand函数的功能里的
第二道题(关机程序)
主要是利用那个system的函数,可以调用系统的命令,但是我输不了中文,好难受
我的处理办法是,在打开一个cmd窗口,输入shutdown -a取消关机
需要这三个头文件
#include <stdio.h>
#include <stdlib.h> //这个好像是system需要用的
#include <string.h> //这个是strcmp需要用的,就是比较两个字符串是否相等
但是运行完程序输入不了中文,还好我打开了cmd命令行,直接输入了shutdown -a结束了所有的关机程序,算了,不管了
但是这主要是goto语句的使用,但是一般goto语句是用的,用其他的方法也是可以替代goto语句,但是在某些情况用goto语句比较好,
比如深层次的循环,用goto可以一下就跳出循环了,提高效率
实现代码(关机程序)
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
//关机程序
//1、电脑运行起来,1分中内关机
//2、如果输入:我是猪,就取消关机int main()
{char input[20] = {};system("shutdown -s -t 60");again:printf("请注意,你的电脑在60秒内关机,如果输入:我是猪,就取消关机\n");scanf("%s", input);while(1){if(strcmp(input,"我是猪") == 0){printf("正在取消关机");system("shutdown -a");break; }else{goto again;//printf("你是笨蛋,正在关机,还有三次机会");//break;} }
实现代码(猜数字)
#include <stdio.h>
#include <stdlib.h>
#include <time.h>
//电脑产生一个随机数(1-100)
//猜数字
//猜大了
//猜小了void menu()
{printf("***********************\n");printf("********猜数字游戏******\n");printf("********play 1********\n"); printf("********exit 0********\n");
}void game()
{int guess = 0; //1、生成随机数//0~99 --> 1~ 100int ret = rand()%100 +1;while(1){printf("请输入数字:>");scanf("%d", &guess);if (guess < ret){printf("太小了\n"); }else if(guess > ret){printf("太大了\n");}else{printf("恭喜你猜对了\n");break;}} } 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;}
相关文章:

初阶c语言(练习题,猜随机数,关机程序)
目录 第一题,使用函数编写一个随机数,然后自己猜,猜随机数 第二道题(关机程序) 实现代码(关机程序) 实现代码(猜数字) 前言: 学习c语言,学习…...
三维重建(十二)——3D先验的使用
文章目录 零、最近感受和前言一、使用能够快速得到重建初始化的方法1.1 Colmap(多视角)1.2 深度估计(单视角)二、已知形状模板2.1 人脸2.2 人体2.3 动物三、刚性与非刚性约束(变形约束)3.1 刚性变形3.2 非刚性变形四、统计(深度学习)先验——从大量(3D)数据中提取信息…...

DDoS技术解析
这里是Themberfue 今天我们不聊别的,我们聊聊著名的网络攻击手段之一的 DDoS,看看其背后的技术细节。 DoS 了解 DDoS 前,先来讲讲 DoS 是什么,此 DoS 而不是 DOS 操作系统啊。1996年9月6日,世界第三古老的网络服务提供…...

总结:如何在SpringBoot中使用https协议以及自签证书?
总结:如何在SpringBoot中使用https协议以及自签证书? 前提一:什么是http协议?前提二:什么是https协议?一生成自签证书二 将证书转换为PKCS12格式三 配置SpringBoot(1)修改配置文件&a…...

Django开发入门 – 4.创建Django app
Django开发入门 – 4.创建Django app Create A Django App Under An Existing Project By JacksonML 1. 什么是Django app? Django项目面向Web应用程序,它会由一个或多个子模块组成,这些子模块称为apps。 Django apps负责执行完整Web应用程序中涉及…...

安装WPS后,导致python调用Excel.Application异常,解决办法
在使用xlwings编辑excel文件时,默认调用的是“Excel.Application”,如果安装过wps,会导致该注册表为WPS,会导致xlwings执行异常 因为安装过WPS,导致与Excel不兼容的问题,想必大家都听说过。有些问题及时删…...

语言大模型基础概念 一(先了解听说过的名词都是什么)
SFT(监督微调)和RLHF(基于人类反馈的强化学习)的区别 STF(Supervised Fine-Tuning)和RLHF(Reinforcement Learning from Human Feedback)是两种不同的模型训练方法,分别…...
理解 WebGPU 的入口: navigator.gpu
在现代 Web 开发中,WebGPU 已经成为实现高性能图形渲染和计算的强大工具。作为 WebGPU API 的入口点, navigator.gpu 是开发者与 GPU 交互的起点。本文将详细介绍 navigator.gpu 的属性和方法,以及如何通过它初始化 WebGPU 环境。 什…...
Django 创建第一个项目
Django 创建第一个项目 引言 Django 是一个高级的 Python Web 框架,它鼓励快速开发和干净、实用的设计。本指南将带您从头开始创建一个简单的 Django 项目,以便您能够熟悉 Django 的基本结构和概念。 准备工作 在开始之前,请确保您已经安装了 Python 和 Django。以下是安…...
ChatGPT vs DeepSeek详细对比
💡 AI模型发展背景 OpenAI的GPT系列需要数据参数算力,这些要素共同推动了模型的成长。但是,到了GPT-5时代,人类现有的知识精华几乎被学习殆尽,模型的提升空间变得有限。于是OpenAI团队另辟蹊径,尝试模拟人…...
日语学习-日语知识点小记-构建基础-JLPT-N4N5阶段(6):動詞ない形について句型
日语学习-日语知识点小记-构建基础-JLPT-N4&N5阶段(6):動詞ない形について句型 1、前言(1)情况说明(2)工程师的信仰2、知识点(1)~動詞な形 +なければなりません(2)~動詞な形 + なくてもいいです(3)に まで までに :区別3、单词(1)日语单词…...
我的docker随笔46:在x86平台构建龙芯镜像
本文介绍在x86服务器上构建龙芯平台的docker镜像。 前言 去年11月,在龙芯机器上安装了docker工具,并开始尝试研究如何构建龙芯的文件系统。断断续续搞了2个月后,有点结果出来了。前面有文章介绍了如何用debootstrap构建龙芯编译运行环境&…...

移动端测试的挑战与解决方案:兼容性、网络问题及实战策略
引言 移动应用已成为用户触达服务的核心入口,但移动端测试面临设备多样性、网络波动、用户场景复杂等多重挑战。据Statista统计,2023年全球活跃移动设备超180亿台,操作系统(Android/iOS)版本碎片化率超30%,这对测试工程师提出了极高要求。本文深度解析移动端测试的核心痛…...

STM32 I2C通信协议说明
目录 背景 I2C协议 数据的有效性 I2C通信开始和停止条件 I2C数据传输 发送 响应 正常情况: 异常情况: 主机结束接收 写寄存器的标准流程 读寄存器的标准流程 仲裁机制 时钟同步 SDA线的仲裁 程序 背景 对单片机的三大通信中的I2C通信进…...

DeepSeek v3 技术报告阅读笔记
注 本文参考 DeepSeek-v3 / v2 / v1 Technical Report 及相关参考模型论文本文不包括基础的知识点讲解,为笔记/大纲性质而非教程,建议阅读技术报告原文交流可发送至邮箱 henryhua0721foxmail.com 架构核心 核心: MLA 高效推理DeepSeekMOE 更…...
HCIA项目实践(网络)---NAT地址转化技术
十三 NAT网络地址转换技术 13.1 什么是NAT NAT(Network Address Translation)地址转换技术,是一种将内部网络的私有 IP 地址转换为外部网络的公有 IP 地址的技术。其主要作用是实现多个内部网络设备通过一个公有 IP 地址访问外部网络&#x…...

VS studio报错cmake version 3.29.5-msvc4,但是没有其他信息问题解决
背景: windows电脑用VS studio 2022打开一个cmake项目,编译cmake通过,但是没有产生exe文件,IDE也没有打印其他错误信息提示,只有下图: cmake version 3.29.5-msvc4 一开始以为是编译器等问题,…...

免费deepseek的API获取教程及将API接入word或WPS中
免费deepseek的API获取教程: 1 https://cloud.siliconflow.cn/中注册时填写邀请码:GAejkK6X即可获取2000 万 Tokens; 2 按照图中步骤进行操作 将API接入word或WPS中 1 打开一个word,文件-选项-自定义功能区-勾选开发工具-左侧的信任中心-信任中心设置…...
langchain学习笔记之小样本提示词Few-shot Prompt Template
langchain学习笔记之小样本提示词 引言 Few-shot Prompt Templates \text{Few-shot Prompt Templates} Few-shot Prompt Templates简单介绍示例集创建创建 ExamplePrompt \text{ExamplePrompt} ExamplePrompt与 ExampleSelector \text{ExampleSelector} ExampleSelector创建 Fe…...
【CS.SE】优化 Redis 商户号池分配设计:高并发与内存管理
优化 Redis 商户号池分配设计:高并发与内存管理 背景 在分布式交易系统中,商户号池管理是核心模块之一。传统的商户号生成方式,依赖数据库预分配号段,导致大量号段浪费,并且在高并发请求下,性能难以满足需…...

Spark 之 入门讲解详细版(1)
1、简介 1.1 Spark简介 Spark是加州大学伯克利分校AMP实验室(Algorithms, Machines, and People Lab)开发通用内存并行计算框架。Spark在2013年6月进入Apache成为孵化项目,8个月后成为Apache顶级项目,速度之快足见过人之处&…...
进程地址空间(比特课总结)
一、进程地址空间 1. 环境变量 1 )⽤户级环境变量与系统级环境变量 全局属性:环境变量具有全局属性,会被⼦进程继承。例如当bash启动⼦进程时,环 境变量会⾃动传递给⼦进程。 本地变量限制:本地变量只在当前进程(ba…...

Qt/C++开发监控GB28181系统/取流协议/同时支持udp/tcp被动/tcp主动
一、前言说明 在2011版本的gb28181协议中,拉取视频流只要求udp方式,从2016开始要求新增支持tcp被动和tcp主动两种方式,udp理论上会丢包的,所以实际使用过程可能会出现画面花屏的情况,而tcp肯定不丢包,起码…...
【位运算】消失的两个数字(hard)
消失的两个数字(hard) 题⽬描述:解法(位运算):Java 算法代码:更简便代码 题⽬链接:⾯试题 17.19. 消失的两个数字 题⽬描述: 给定⼀个数组,包含从 1 到 N 所有…...

【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
JVM暂停(Stop-The-World,STW)的原因分类及对应排查方案
JVM暂停(Stop-The-World,STW)的完整原因分类及对应排查方案,结合JVM运行机制和常见故障场景整理而成: 一、GC相关暂停 1. 安全点(Safepoint)阻塞 现象:JVM暂停但无GC日志,日志显示No GCs detected。原因:JVM等待所有线程进入安全点(如…...

TSN交换机正在重构工业网络,PROFINET和EtherCAT会被取代吗?
在工业自动化持续演进的今天,通信网络的角色正变得愈发关键。 2025年6月6日,为期三天的华南国际工业博览会在深圳国际会展中心(宝安)圆满落幕。作为国内工业通信领域的技术型企业,光路科技(Fiberroad&…...
从面试角度回答Android中ContentProvider启动原理
Android中ContentProvider原理的面试角度解析,分为已启动和未启动两种场景: 一、ContentProvider已启动的情况 1. 核心流程 触发条件:当其他组件(如Activity、Service)通过ContentR…...

五子棋测试用例
一.项目背景 1.1 项目简介 传统棋类文化的推广 五子棋是一种古老的棋类游戏,有着深厚的文化底蕴。通过将五子棋制作成网页游戏,可以让更多的人了解和接触到这一传统棋类文化。无论是国内还是国外的玩家,都可以通过网页五子棋感受到东方棋类…...
Python 高级应用10:在python 大型项目中 FastAPI 和 Django 的相互配合
无论是python,或者java 的大型项目中,都会涉及到 自身平台微服务之间的相互调用,以及和第三发平台的 接口对接,那在python 中是怎么实现的呢? 在 Python Web 开发中,FastAPI 和 Django 是两个重要但定位不…...