初阶c语言(循环语句习题,完结)
前言:
c语言为b站鹏哥,嗯对应视频37集
昨天做的c语言,今天在来做一遍,发现做错了
今天改了平均值的计算,
就是说最大值加上最小值,如果说这个数值非常大的话,两个值加上会超过int类型的最大值,从而导致数值的重新计算,导致结果不稳定,所以换一种计算方法
第二题,折半查找法
环境介绍,就是dev c++软件运行编译
就是说最大值减去最小值,然后中间有个差值,将他分成一半给最小值,那两个就都是平均值了

#include <stdio.h>
int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,10};int left =0;int pj = sizeof(arr)/sizeof(arr[0]); //就是那个sizeof计算字符串整型都可以用,全部元素都计算了//定义一个输入int k =6; int right=pj-1;for(left=0; left<=right; left++){int mid =left + (right-left)/2;if(arr[mid]<k){left = mid +1;}if(arr[mid] > k){right = mid - 1;}else{printf("找到了,下标为:%d\n", mid);}}return 0;
}
嗯,就是正确的下标应该是5,但是打印的下标为4,。。。
我知道了
我用的for循环,而且我每次循环,都将left加1了,导致就是计算结果不准,至于为什么等于4我就没有深究了,
所以这个还是用for循环比较好,当然我把第三个表达式删掉了,也可以得到正确的值,就这样
for(left=0; left<=right; )
这里也是会造成死循环,因为把left++去掉了,left和right不变了
修改的代码
#include <stdio.h>
int main()
{int arr[] = {1,2,3,4,5,6,7,8,9,10};int left =0;int pj = sizeof(arr)/sizeof(arr[0]); //就是那个sizeof计算字符串整型都可以用,全部元素都计算了//定义一个输入int k =6; int right=pj-1;while(left <= right){int mid =left + (right-left)/2;if(arr[mid]<k){left = mid +1;}if(arr[mid] > k){right = mid - 1;}else{printf("找到了,下标为:%d\n", mid);break;}}return 0;
}
为啥这个要加break,不然会造成死循环,因为这个while循环,找到了之后并不会变化里面的right和left值,所以while循环的表达式永远为真,就造成循环
第三题:编写代码,演示多个字符从两端移动,向中间汇聚
strlen函数,这个是统计 \0 之前的元素,适合用于计算字符串的长度
sizeof函数,统计所有元素,包括\0
strlen,如果需要使用这个函数,需要加上头文件,就是这个,#include <string.h>
sleep函数,需要使用#include <windows.h>,这个是头文件
systemctl函数,包含 #include <stdlib.h>,执行系统命令(dev c++好像不用包含额外头文件)
源代码
//编写代码,演示多个字符从两端移动,向中间汇聚//welcome to bit!!!!
//##################
//we##############!!
//...........
//welcome to bit!!!!int main()
{char arr1[] = "welcome to bit!!!!";char arr2[] = "##################";int right = strlen(arr2) - 1; //strlen比较好算字符串的长度,因为不计算/0在里面,字符串数组里默认有\0. int left =0;while(left < right){arr2[left] = arr1[left];arr2[right] = arr1[right];left ++;right --;Sleep(1000); system("cls");printf("%s\n", arr2);}}
编写代码实现,模拟用户登录情景,并且只能登录三次。
如果密码正确则提示登录成功,(只允许输入三次密码如果三次均输入错误,则退出程序。)
字符串比较不能直接这样写
if(password == "abcdef")
嗯.....别问,问就是会报错,然后就是要利用函数
strcmp函数,用于对比字符串是否一致,一致返回0
代码
int main()
{int i = 0;char password[100] = {0}; //这里需要指派空间大一点while(i < 3){printf("请输入密码:");scanf("%s", password); if (strcmp(password, "abcdef") == 0){printf("登录成功\n");break;}else{printf("登录失败,请重试\n");}i++;} return 0;}
数组那里的空间需要给大一点,嗯,不指名空间大小的话,就只能存一次
然后我有问题的是
为啥需要将输入函数放到循环里面,放到循环外面就不起作用了,也就是程序不能正常运行
相关文章:
初阶c语言(循环语句习题,完结)
前言: c语言为b站鹏哥,嗯对应视频37集 昨天做的c语言,今天在来做一遍,发现做错了 今天改了平均值的计算, 就是说最大值加上最小值,如果说这个数值非常大的话,两个值加上会超过int类型的最大…...
本地Deepseek-r1:7b模型集成到Google网页中对话
本地Deepseek-r1:7b网页对话 基于上一篇本地部署的Deepseek-r1:7b,使用黑窗口对话不方便,现在将本地模型通过插件集成到Google浏览器中 安装Google插件 在Chrome应用商店中搜索page assis 直接添加至Chrome 修改一下语言 RAG设置本地运行的模型&#…...
SSM课设-学生选课系统
【课设者】SSM课设-学生选课系统 分为 管理员 和 老师 和 学生端 技术栈 前端: HtmlCssJavaScriptAjax 后端: Spring、Spring MVC、MyBatis、MySQL、JSP 学生端 --选课 选课 搜索 --查看选课结果 --退选 --查看已修课程 --管理个人信息 老师端 --添加教学课程 添加 …...
Windows中使用Docker安装Anythingllm,基于deepseek构建自己的本地知识库问答大模型,可局域网内多用户访问、离线运行
文章目录 Windows中使用Docker安装Anythingllm,基于deepseek构建自己的知识库问答大模型1. 安装 Docker Desktop2. 使用Docker拉取Anythingllm镜像2. 设置 STORAGE_LOCATION 路径3. 创建存储目录和 .env 文件.env 文件的作用关键配置项 4. 运行 Docker 命令docker r…...
AI前端开发技能提升与ScriptEcho:拥抱AI时代的前端开发新范式
随着人工智能技术的飞速发展,AI前端开发岗位对技能的要求也水涨船高。越来越多的企业需要具备AI相关知识和高级前端开发能力的工程师,这使得传统的前端开发模式面临着巨大的挑战。如何提升开发效率,降低人力成本,成为了摆在所有前…...
【Redis存在线程安全问题吗?】
Redis存在线程安全问题吗? Redis的线程安全性概述Redis线程安全性的挑战Redis线程安全性的示例示例1:客户端并发访问导致的问题示例2:分布式环境下的问题解决Redis线程安全问题的建议总结Redis的线程安全性概述 Redis本身是一个单线程的键值存储数据库,它使用单线程模型来…...
碎碎念,再聊HyperRAM(CrosslinkNX FPGA+HyperRAM)
作者:Hello,Panda HyperRAM其实熊猫君很久以前在用了,几年前也分享了一篇实现HyperRAM控制器的博文(博文《Lattice CrossLinkNx LIFCL-40应用连载7-使用HyperRAM存储器》。近期在后台收到好几位朋友咨询一些关于HyperRAM的问题&a…...
左移架构 -- 从攒批,湖仓到使用数据流的实时数据产品
编辑导读: 这篇文章翻译自 Kai Waehner的 《The Shift Left Architecture – From Batch and Lakehouse to Real-Time Data Products with Data Streaming》。文章通过数据产品的概念引出了如何创建可重复使用的数据产品使企业能够从当前和未来的数据中获得价值。基于构建数据产…...
多模态识别和自然语言处理有什么区别
在科技飞速发展的当下,人工智能(AI)已经渗透到我们生活的方方面面。不知道大家有没有这样的经历:早上醒来,对着智能音箱说 “播放今天的新闻”,音箱不仅能识别你的语音,还能在播放新闻的同时&am…...
进阶——第十六蓝桥杯嵌入式熟练度练习(串口的小BUG补充-字符接受不完整和字符接受错误)
1.解决接受不完整问题 假如没接受完成,执行函数,就可能会把count直接清零,就会重新接受\ while (1){if(rx_count!0){uint8_t temprx_count;HAL_Delay(1);if(temprx_count)uart_proc(); }key_proc();rxclear_proc();/* USER CODE END WHILE…...
数据结构-链式二叉树
文章目录 一、链式二叉树1.1 链式二叉树的创建1.2 根、左子树、右子树1.3 二叉树的前中后序遍历1.3.1前(先)序遍历1.3.2中序遍历1.3.3后序遍历 1.4 二叉树的节点个数1.5 二叉树的叶子结点个数1.6 第K层节点个数1.7 二叉树的高度1.8 查找指定的值(val)1.9 二叉树的销毁 二、层序…...
【git-hub项目:YOLOs-CPP】本地实现01:项目构建
目录 写在前面 项目介绍 最新发布说明 Segmentation示例 功能特点 依赖项 安装 克隆代码仓库 配置 构建项目 写在前面 前面刚刚实现的系列文章: 【Windows/C++/yolo开发部署01】 【Windows/C++/yolo开发部署02】 【Windows/C++/yolo开发部署03】 【Windows/C++/yolo…...
250213-RHEL8.8-外接SSD固态硬盘
It seems that the exfat-utils package is still unavailable, even after enabling the RPM Fusion repository. This could happen if the repository metadata hasn’t been updated or if the package isn’t directly available in the RPM Fusion repository for RHEL 8…...
如何本地部署DeepSeek?
DeepSeek:智能时代的得力助手 在人工智能技术飞速发展的今天,DeepSeek 作为一款由国内顶尖团队研发的 AI 工具,凭借其卓越的性能和丰富的功能,逐渐在众多同类产品中脱颖而出,成为众多用户在工作和学习中的得力助手。 …...
leetcode:627. 变更性别(SQL解法)
难度:简单 SQL Schema > Pandas Schema > Salary 表: ----------------------- | Column Name | Type | ----------------------- | id | int | | name | varchar | | sex | ENUM | | salary | int …...
51单片机(国信长天)矩阵键盘的基本操作
在CT107D单片机综合训练平台上,首先将J5处的跳帽接到1~2引脚,使按键S4~S19按键组成4X4的矩阵键盘。在扫描按键的过程中,发现有按键触发信号后(不做去抖动),待按键松开后,在数码管的第一位显示相应的数字:从左至右&…...
封装一个sqlite3动态库
作者:小蜗牛向前冲 名言:我可以接受失败,但我不能接受放弃 如果觉的博主的文章还不错的话,还请点赞,收藏,关注👀支持博主。如果发现有问题的地方欢迎❀大家在评论区指正 目录 一、项目案例 二…...
Transformer以及BERT阅读参考博文
Transformer以及BERT阅读参考博文 Transformer学习: 已有博主的讲解特别好了: 李沐:Transformer论文逐段精读【论文精读】_哔哩哔哩_bilibili知乎:Transformer模型详解(图解最完整版) - 知乎 个人杂想&…...
AI学习记录 - 最简单的专家模型 MOE
代码 import torch import torch.nn as nn import torch.nn.functional as F from typing import Tupleclass BasicExpert(nn.Module):# 一个 Expert 可以是一个最简单的, linear 层即可# 也可以是 MLP 层# 也可以是 更复杂的 MLP 层(active function 设…...
急停信号的含义
前言: 大家好,我是上位机马工,硕士毕业4年年入40万,目前在一家自动化公司担任软件经理,从事C#上位机软件开发8年以上!我们在开发C#的运动控制程序的时候,一个必要的步骤就是确认设备按钮的急停…...
Android Wi-Fi 连接失败日志分析
1. Android wifi 关键日志总结 (1) Wi-Fi 断开 (CTRL-EVENT-DISCONNECTED reason3) 日志相关部分: 06-05 10:48:40.987 943 943 I wpa_supplicant: wlan0: CTRL-EVENT-DISCONNECTED bssid44:9b:c1:57:a8:90 reason3 locally_generated1解析: CTR…...
centos 7 部署awstats 网站访问检测
一、基础环境准备(两种安装方式都要做) bash # 安装必要依赖 yum install -y httpd perl mod_perl perl-Time-HiRes perl-DateTime systemctl enable httpd # 设置 Apache 开机自启 systemctl start httpd # 启动 Apache二、安装 AWStats࿰…...
【配置 YOLOX 用于按目录分类的图片数据集】
现在的图标点选越来越多,如何一步解决,采用 YOLOX 目标检测模式则可以轻松解决 要在 YOLOX 中使用按目录分类的图片数据集(每个目录代表一个类别,目录下是该类别的所有图片),你需要进行以下配置步骤&#x…...
HDFS分布式存储 zookeeper
hadoop介绍 狭义上hadoop是指apache的一款开源软件 用java语言实现开源框架,允许使用简单的变成模型跨计算机对大型集群进行分布式处理(1.海量的数据存储 2.海量数据的计算)Hadoop核心组件 hdfs(分布式文件存储系统)&a…...
tomcat指定使用的jdk版本
说明 有时候需要对tomcat配置指定的jdk版本号,此时,我们可以通过以下方式进行配置 设置方式 找到tomcat的bin目录中的setclasspath.bat。如果是linux系统则是setclasspath.sh set JAVA_HOMEC:\Program Files\Java\jdk8 set JRE_HOMEC:\Program Files…...
tauri项目,如何在rust端读取电脑环境变量
如果想在前端通过调用来获取环境变量的值,可以通过标准的依赖: std::env::var(name).ok() 想在前端通过调用来获取,可以写一个command函数: #[tauri::command] pub fn get_env_var(name: String) -> Result<String, Stri…...
Spring Security 认证流程——补充
一、认证流程概述 Spring Security 的认证流程基于 过滤器链(Filter Chain),核心组件包括 UsernamePasswordAuthenticationFilter、AuthenticationManager、UserDetailsService 等。整个流程可分为以下步骤: 用户提交登录请求拦…...
深度剖析 DeepSeek 开源模型部署与应用:策略、权衡与未来走向
在人工智能技术呈指数级发展的当下,大模型已然成为推动各行业变革的核心驱动力。DeepSeek 开源模型以其卓越的性能和灵活的开源特性,吸引了众多企业与开发者的目光。如何高效且合理地部署与运用 DeepSeek 模型,成为释放其巨大潜力的关键所在&…...
【深度学习新浪潮】什么是credit assignment problem?
Credit Assignment Problem(信用分配问题) 是机器学习,尤其是强化学习(RL)中的核心挑战之一,指的是如何将最终的奖励或惩罚准确地分配给导致该结果的各个中间动作或决策。在序列决策任务中,智能体执行一系列动作后获得一个最终奖励,但每个动作对最终结果的贡献程度往往…...
客户案例 | 短视频点播企业海外视频加速与成本优化:MediaPackage+Cloudfront 技术重构实践
01技术背景与业务挑战 某短视频点播企业深耕国内用户市场,但其后台应用系统部署于东南亚印尼 IDC 机房。 随着业务规模扩大,传统架构已较难满足当前企业发展的需求,企业面临着三重挑战: ① 业务:国内用户访问海外服…...
