猜数字小游戏+折半查找法(二分法)+三次密码输入+字母大小写转换

算法:二分法 经典二分查找的优化及拓展 阅读详情

猜数字小游戏:

#include<stdio.h>
#include<time.h>
#include<stdlib.h>
/*
猜数字小游戏
*/
int menu() {
printf(“1.开始游戏\n”);
printf(“0.结束游戏\n”);
printf("\n\n");
int choice = 0;
printf(“请选择菜单:”);
while (1) {
scanf("%d", &choice);
if (choice == 1) {
return 1;
} else if (choice == 0) {
printf(“游戏结束\n”);
return 0;
} else {
printf(“输入有误,请重新输入\n”);
}
}
}

void game() {
srand((unsigned int)time(0));
int num = rand() % 100 + 1;
printf(“请输入你所猜的数字(1 - 100)\n”);
while (1) {
int guess = 0;
scanf("%d", &guess);
if (guess > num) {
printf(“高了\n”);
} else if (guess < num) {
printf(“低了\n”);
} else {
printf(“恭喜你,猜对了\n”);
break;
}
}
}

int main() {

while (menu() == 1) {
	game();
}
return 0;

}

折半查找法(二分法):

#include<stdio.h>
/*
用折半查找发查找想要的数字
*/
int main() {

int a[] = { 1, 2, 3, 4, 5, 6, 7, 8 };
int left = 0;
int right = sizeof(a) / sizeof(a[0]);
printf("请输入你要找的数字:\n");
int num = 0;
scanf("%d", &num);
while (left <= right) {
	int temp = (left + right) / 2;
	if (num > a[temp]) {
		left = temp + 1;
	} else if (num < a[temp]) {
		right = temp - 1;
	} else {
		printf("找到了,在 %d 的位置\n", temp);
		break;
	}
}
if (left > right) {
	printf("没找到\n");
}
return 0;

}

三次密码输入:

#include<stdio.h>
#include<string.h>
/*
输入密码,最多给3次机会
*/
int main() {

char password[1024] = { 0 };
printf("请输入你的密码: \n");
int i = 0;
for ( ; i < 3; i++) {
	scanf("%s", &password);
	if (strcmp(password, "1234aa..") == 0) {
		printf("密码正确,登陆成功\n");
		break;
	}
	printf("密码错误,请重新输入\n");
}
if (i == 3) {
	printf("登陆失败\n");
}
return 0;

}

字母大小写转换:
(数字及其他字符不能转换)

#include<stdio.h>
/*
字母的大小写转换
*/
int menu() {
printf("**********1. 转换 **********\n");
printf(“0.结束转换\n”);
int choice = 0;
while (1) {
scanf("%d", &choice);
if (choice == 1) {
return 1;
} else if (choice == 0) {
return 0;
} else {
printf(“输入有误,请重新输入\n”);
}
}
}

void exchange() {
printf(“请输入你要转换大小写的字母\n”);
char c;
while ((c = getchar()) != ‘\n’);
c = getchar();
if (c >= ‘a’ && c <= ‘z’) {
printf("%c\n", c - 32);
} else if (c >= ‘A’ && c <= ‘Z’) {
printf("%c\n", c + 32);

} else {
	printf("不存在大小写转换\n");
}
while ((c = getchar()) != '\n');

}

int main() {

char c = 0;
while (menu() == 1) {
	exchange();
}
return 0;

}

MySQL 分库分表及其平滑扩容方案 MyCAT不仅仅可以用作读写分离,以及分表分库、容灾管理,而且可以用于多租户应用开发、云平台基础设施,让你的架构具备很强的适应性和灵活性。分表对于一张多行(记录)多列(字段)的二维数据表,又分两种情形(1)垂直分表竖向切分,不同分表存储不同的字段,可以把不常用或者大容量、或者不同业务的字段拆分出去;扩容前每个节点的数据,有一半要迁移至一个新增节点中,对应关系比较简单。此时,四个节点的数据都已完整,只是有冗余(多存了和自己配对的节点的那部分数据),择机清除即可(过后随时进行,不影响业务)。... 阅读详情

相关推荐

LDA模型中文文本主题提取丨可视化工具pyLDAvis的使用

主题模型LDA的实现及其可视化pyLDAvis1. 无监督提取文档主题——LDA模型1.1 准备工作1.2 调用api实现模型2. LDA的可视化交互分析——pyLDAvis2.1 安装pyLDAvis2.2 结合gensim调用api实现可视化p.s. 保存结果为独立网页p.p.s. 加快prepare速度?2.3 如何分析pyLDAvis可视化结果2.3.1. **每个主题表示什么意义?**2.3.2 每个主题有多么普遍?2.3.3 主题之间有什么关联? 1. 无监督提取文档主题——LDA模型 这个模型

qq_39496504的博客 6万+

二分法(折半查找)的运用之java实现猜数字游戏

让计算机输入一个数 然后用户进行猜数游戏 一般而言,七次会猜对,如果猜不对,那么就是你的方法不对 在这儿涉及到的一个算法就是二分法 ***二分法查找,***也称为折半法,是一种在有序数组中查找特定元素的搜索算法。二分法查找的思路如下: (1)首先,从数组的中间元素开始搜索,如果该元素正好是目标元素,则搜索过程结束,否则执行下一步。 (2)如果目标元素大于/小于中间元素,则在数组大于/小于中间元素的...

坚果的博客 1858

利用OrthoFinder做泛基因家族聚类分析

这条命令会将 Arabidopsis_thaliana.TAIR10.59_longest_trans.pep.fa 文件中的所有序列ID,去掉ID中的空格后面的部分,只保留 > 后第一个空格之前的基因ID,并将结果保存在 An1.fasta 文件中。muscle 是一种常用的多序列比对工具,用于基因组或蛋白质序列的比对。基因家族(Gene family),是来源于同一个祖先,由一个基因通过基因重复而产生两个或更多的拷贝而构成的一组基因,它们在结构和功能上具有明显的相似性,编码相似的蛋白质产物。

qq_64400864的博客 2754

C语言——二分查找与猜数字游戏

二分查找与猜数字

2201_75366661的博客 1324

HOPE:基于强化学习的混合策略路径规划器,适用于多样化停车场景

本文提出了一种混合策略路径规划器(HOPE),用于解决自动停车中的路径规划问题。HOPE结合了强化学习(RL)和Reeds-Shepp(RS)曲线,通过动作掩码机制引导RL智能体的探索,并利用Transformer融合环境感知信息与掩码。该方法在多样且复杂的停车场景中实现了超过97%的成功率,并通过真实实验验证了其泛化能力。此外,本文还提出了基于空间与障碍物分布的停车场景难度分级标准,进一步提升了训练与评估的效率。实验结果表明,HOPE在规划成功率和跨场景泛化能力上均优于传统的基于规则算法和朴素强化学习方法

weixin_42783201的博客 1466

制造业与工业知识图谱应用

在全球数字化转型背景下,制造业面临创新周期缩短、质量管控精细化等挑战。知识图谱技术通过结构化表示工业知识,为智能制造提供关键技术支撑。工业知识图谱具有专业性强、多源异构数据融合、实时性要求高等特点,其构建流程涵盖本体设计、知识抽取与整合等环节。研究显示,知识图谱与大模型结合可提升工业场景的智能化水平,在设备故障诊断、供应链优化等领域具有显著应用价值。该技术有望成为制造业数字化转型的核心驱动力。

分享一些感兴趣的技术方面 1444

【密--码--破--译】暴力查找与二分查找

暴力查找与二分查找 文章目录暴力查找与二分查找一.前言1.1两种算法的介绍二.算法图解2.1例题引入与剖析三.总结 一.前言 ​ 生活中查找的例子数不胜数,比如查字典,找东西等。查找是算法数据结构的基础,重中之重,下文我将向大家介绍两种常见查找算法------ 暴力查找和二分查找。在破译密码学里,最常见的跑字典破译密码多半使用的算法便是暴力破解,让我们一起来回顾一下它的原理吧。 1.1两种算法的介绍 暴力查找 ​ 暴力查找是指依次遍历元素查找对应元素,常用于线性表元素的查找。我们大学学习《算法数据结构

令狐_JackieHao的博客 522

机器学习模型——非线性回归

升维是一种常用的处理非线性问题的方法,它通过将原始数据从低维空间映射到高维空间来增强模型的表达能力。我们可以看出,二维数据用一维直线很难去很好的拟合。升维里的degree设置的不易过大,否则容易造成维度灾难。升维后,拟合的线与原数据比较符合。将非线性问题转换为线性问题。

qq_60688380的博客 1422

Java学习(生成一个随机数范围0-100,使用程序猜出数字多少(二分法))

生成一个随机数范围0-100,使用程序猜出数字多少(二分法)

Maverick_曲流觞的博客 1036

【PyTorch】CNN(一维卷积Conv1D)实现时间序列预测

本文介绍了一维卷积神经网络(Conv1D)在时间序列预测中的应用,展示了其基本原理及实现方式。通过合适的数据预处理和模型调参,Conv1D可以有效地捕捉时间序列数据中的模式,从而进行精准预测。

走向CTO的路上... 1173

Ego Planner规划算法(下)——Ego Planner程序框架

本系列文章用于学习记录Ego-Planner规划算法的相关内容,本系列文章是在在Fast Planner规划算法系列文章的基础上,展开对Ego Planner的相关介绍,主要包括Ego Planner算法流程和程序框架两部分,主要学习资料是深蓝学院的移动机器人运动规划课程

慕羽★的博客 7260

二分查找、猜数字游戏思路详解、选择语句与循环句练习

1、二分查找 2、猜数字游戏思路详解 3、选择语句与循环语句练习

m0_73067372的博客 1777

innovus:sroute 双层follow pin的做法

根据std cellpower pin的层次可以分成两种情况。

m0_61544122的博客 2732

用二分法编写猜数字游戏(含:猜电脑随机数,和用户自己想的数字)python

用二分法编写猜数字游戏(含:猜电脑随机数,和用户自己想的数字)python ​对于区间[a,b]上连续不断且f(a)·f(b)<0的函数y=f(x),通过不断地把函数f(x)的零点所在的区间一分为二,使区间的两个端点逐步逼近零点,进而得到零点近似值的方法叫二分法。 生成随机数的函数为random.randint(min,max),其中min和max分别是随机数的最大值和最小值。 用二分法猜用户所想的数:当小数部分不为0时,就给整数部分+1

rosediver的博客 6427

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

猜数字(二分法)

二分法的猜数字

qq_60498436的博客 3639

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

15-二分-值域二分-猜数字大小

这道题一眼就看出二分法的思路了。它为我们预定义了一个函数guess。我们无非利用这个函数去判断二分法的指针移动逻辑。来获取猜测结果,返回值一共有 3 种可能的情况(你可以通过调用一个预先定义好的接口。这是二分法的第15篇算法,

weixin_56270372的博客 534

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

【C语言作业7】二分法猜数游戏:先由计算机“想”一个1~100之间的数请人猜,用二分法进行猜数,计算机给出反馈,猜大额或是猜小了,直到人猜对为止。计算机记录猜的次数,以此反映猜的水平。

二分法猜数游戏:先由计算机“想”一个1~100之间的数请人猜,用二分法进行猜数,计算机给出反馈,猜大额或是猜小了,直到人猜对为止。计算机记录猜的次数,以此反映猜的水平。

qq_44314658的博客 4314

小学生学python——猜数字游戏:二分法

小学生学python——猜数字游戏:二分法

m0_52850981的博客 4289

C语言学习记录2022.5.21练习:二分法找数与密码登录

1、使用二分法查找数组中的元素(图片来自比特科技):

m0_53068812的博客 195

<C语言>诸葛亮猜数算法(二分法)

利用二分法确认未知数

shuaiabia的博客 1399

二分算法(小白整理)

二分

licorice1235的博客 1017

二分法(详解区间问题)

在介绍二分法之前我们先来做一个游戏请你想一个0-100范围内的整数,然后我在七次之内猜出来你想的数是哪个数。我每猜一个数,你只需要告诉我是大了还是小了。我为什么能最多七次就能猜出来呢?(带着疑问,看完这篇文章你就明白了)通俗来说也就是折半查找,每次都排除一半的元素,在一次一次二分后找到目标元素。注意:二分查找只能对有序的列表进行查找(列如按大小顺序排列的表)取中间元素,判断目标元素是比中间元素大还是小。如果相等直接查找成功,返回中间值。

Universe_Lu的博客 644

JAVA猜数字游戏(二分)

import java.awt.*; import java.awt.event.*; import java.io.*; import java.util.Random; import javax.swing.*; public class Main extends JFrame{ JButton sendBt; JTextField inputField; JTextAre

我的指针和我一样找不到对象 869

二分法-蓝桥杯

a[mid]>x时,x在mid的左边,新的搜索区间是左半部分,所以left不变,更新right = mid -1。check()计算量是O(n),做d次check(),总复杂度O(nxd),n和d的最大值是10的5次方,超时。a[mid]=x时:x在mid的左边,新的搜索区间是左半部分,left不变,更新right = mid。一个个试边长d太慢,用二分法,按前面的“猜数游戏”的方法猜d的取值。

ranzi. 1327

用二分法实现一个猜数字小游戏

#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <string.h> #include <stdlib.h> #include <time.h> #include <windows.h> void Guess() { //1. 随机数 //2. srand((unsigned long)time(NULL)); //种随机数种子! i...

一个计算机爱好者学习历程 965

分巧克力

儿童节那天有K位小朋友到小明家做客。小明拿出了珍藏的巧克力招待小朋友们。 小明一共有N块巧克力,其中第i块是Hi x Wi的方格组成的长方形。 为了公平起见,小明需要从这 N 块巧克力中切出K块巧克力分给小朋友们。切出的巧克力需要满足: 形状是正方形,边长是整数 大小相同 例如一块6x5的巧克力可以切出6块2x2的巧克力或者2块3x3的巧克力。 当然小朋友们都希望得到的巧克力尽可能大,你能帮小Hi计算出最大的边长是多少么? 输入格式: 第一行包含两个整数N和K。(1 <= N, K <=

黄大仙 604
上一篇: 在屏幕上输出菱形图案“*”,输出0-999之间的水仙花数,求Sn = 2 + 22 + 222 + ...
下一篇: 乘法表函数+交换两个数函数+判断闰年函数+数组初始化、清空和逆置函数+判断素数函数
小豆子的世界
博客等级 码龄8年 5粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值