C语言假期作业 DAY 05
题目
一、选择题
1、如下程序的功能是( )
#include <stdio.h> int main() { char ch[80] = "123abcdEFG*&"; int j; puts(ch); for(j = 0; ch[j] != '\0'; j++) if(ch[j] >= 'A' && ch[j] <= 'Z') ch[j] = ch[j] + 'e' - 'E'; puts(ch); return 0; }A: 测字符数组ch的长度
B: 将数字字符串ch转换成十进制数
C: 将字符数组ch中的小写字母转换成大写
D: 将字符数组ch中的大写字母转换成小写2、对于代码段,下面描述正确的是( )
t=0; while(printf("*")) { t++; if (t<3) break; }A: 其中循环控制表达式与 0 等价
B: 其中循环控制表达式与 '0' 等价
C: 其中循环控制表达式是不合法的
D: 以上说法都不对3、以下程序运行时,若输入 1abcedf2df<回车> 输出结果是( )
#include <stdio.h> int main() { char ch;while ((ch = getchar()) != '\n') { if (ch % 2 != 0 && (ch >= 'a' && ch <= 'z')) ch = ch - 'a' + 'A'; putchar(ch); }printf("\n"); return 0; }A: 1abcedf2df
B: 1ABCEDF2DF
C: 1AbCEdf2df
D: 1aBceDF2DF4、下列条件语句中,功能与其他语句不同的是( )
A: if(a) printf("%d\n",x) ; else printf("%d\n",y) ;
B: if(a==0) printf("%d\n",y) ; else printf("%d\n",x) ;
C: if (a!=0) printf("%d\n",x) ; else printf("%d\n",y) ;
D: if(a==0) printf("%d\n",x) ; else printf("%d\n",y) ;
5、我们知道C语言的 break 语句只能跳出离它最近的一层循环,可是有时候我们需要跳出多层循环,下列跳出多层 循环的做法正确的是【多选】( )A: 将程序写成函数用return结束函数,便可跳出循环
B: 修改外层循环条件例如
for( int i = 0 ; i < MAX1 ; i ++ ) {for( int j = 0 ; j < MAX2 ; j ++ ){if( condition ){i = MAX1;break;}} }C: 在外层循环设置判断条件例如
for( ; symbol != 1 && condition2 ; ) {for( ; symbol != 1 && condition3 ; ){if( condition1 )symbol = 1 ;} }D: 在外层循环后面加入break例如
for( ; condition2 ; ) {for( ; condition3 ; ){if( condition1 )symbol = 1 ;}if(symbol == 1 )break ; }二、编程题
1:JZ53 数字在升序数组中出现的次数数字在升序数组中出现的次数_牛客题霸_牛客网 (nowcoder.com)
描述
给定一个长度为 n 的非降序数组和一个非负数整数 k ,要求统计 k 在数组中出现的次数
数据范围:0 \le n \le 1000 , 0 \le k \le 1000≤n≤1000,0≤k≤100,数组中每个元素的值满足 0 \le val \le 1000≤val≤100
要求
空间复杂度 O(1)O(1),时间复杂度 O(logn)O(logn)
示例1
输入:[1,2,3,3,3,3,4,5],3
返回值:4
示例2
输入:[1,3,4,5],6
返回值:0
2:LeetCode
面试题 05.06. 整数转换 - 力扣(LeetCode)
整数转换。编写一个函数,确定需要改变几个位才能将整数A转成整数B。
示例1
输入:A = 29 (或者0b11101), B = 15(或者0b01111)
输出:2示例2
输入:A = 1,B = 2
输出:2提示
A,B范围在[-2147483648, 2147483647]之间
题解
一、选择题
1 、【答案解析】
正确答案: D
一个字母对应的大写和小写之间的 ASCII 码值相差 32 ,而且小写的大于大写的。所以题中 'e' 和 'E' 之间的 ASCII 码值相差 32(ch[j]+'e'-'E'相当于 ch[j]+32 )。一个字母从大写转化为小写就是在它自身上 +32 ,小写转大写则是 -322 、【答案解析】
正确答案: B
因 print(“*”) 函数调用的返回值是字符串中字符的个数,即为 1 。所以 while 后面的条件恒为真,所以循环控制表达式与'0' 是等价的(字符 '0' 不是 0 )。正确答案是 B3 、【答案解析】
正确答案: C
程序首先考虑 ch 的 ASCII 码值是不是奇数,再看是不是小写字母,同时满足时被改为大写字母4 、【答案解析】
正确答案: D
D 选项与众不同,其他都是 a==0 时输出 y , a!=0 时输出 x5.【答案解析】
正确答案: ABCD
此题旨在整理跳出多层循环的方法,每个选项都是正确的,代码为伪代码, condition 代表逻辑表达式二、编程题
1 、【答案解析】:
采用遍历也能搞定,不过数组为非降序,采用二分查找的思想最优,先二分找到最左边的数字位置,再二分查找最右边的数字位置,两个位置相减+1 就是长度了
中间比找的值大:则要找的数字肯定在右边, left = mid + 1;
中间比找的值小:则要找的数字肯定在左边, right = mid - 1 ;
中间值与找的值相同:
找的最左边数字:如果 mid 就是 left ,则返回 mid 就行,否则重置 right=mid-1 ,把中心不断向左偏移
找的最右边数字:如果 mid 就是 right ,则返回 mid 就行,否则重置 left=mid+1 ,把中心不断向右偏移int get_last_or_first_idx(int* data, int len, int k, int flag) {//flag:0-找左边, 1-找右边int left = 0, right = len - 1, mid;while (left <= right) {mid = left + (right - left) / 2;if (data[mid] > k)right = mid - 1;else if (data[mid] < k)left = mid + 1;else{if (flag == 0) {//flag==0时,找最左边的数字if (mid == left || data[mid - 1] != k) return mid;else right = mid - 1;//把中心向左推}else{//flag==1时,找最右边的数字if (mid == right || data[mid + 1] != k) return mid;else left = mid + 1;//把中心向右推}}}return -1; } int GetNumberOfK(int* data, int dataLen, int k) {if (dataLen == 0) return 0;int left = get_last_or_first_idx(data, dataLen, k, 0);int right = get_last_or_first_idx(data, dataLen, k, 1);if (left == -1 && right == -1) return 0; //表示没有找到k这个数据return right - left + 1; }2 、【答案解析】:
其实问需要修改多少个比特位,问的就是有多少个比特位不同而已,因为有多少位不同就修改多少位。
int get_bin_count(int num) {int count = 0;for (int i = 0; i < 32; i++){if ((num >> i) & 1)count++;}return count; } int convertInteger(int A, int B) {return get_bin_count(A ^ B); }
相关文章:
C语言假期作业 DAY 05
题目 一、选择题 1、如下程序的功能是( ) #include <stdio.h> int main() { char ch[80] "123abcdEFG*&"; int j; puts(ch); for(j 0; ch[j] ! \0; j) if(ch[j] > A && ch[j] < Z) ch[j] ch[j] e - E; puts(ch)…...
php-golang-rpc使用roadrunner-server/goridge/v3/pkg/rpc和php的spiral/goridge3.2实践
golang代码: go get github.com/roadrunner-server/goridge/v3 package main import ( "fmt" "net" "net/rpc" goridgeRpc "github.com/roadrunner-server/goridge/v3/pkg/rpc" ) type App struct{} func (s *App) Hi(na…...
API常用签名验证方法(PHP实现)
使用场景 现在越来越多的项目使用的前后端分离的模式进行开发,后端开发人员使用API接口传递数据给到前端开发进行处理展示,在一些比较重要的修改数据接口,涉及金钱,用户信息等修改的接口如果不做防护验证,经常容易被人…...
kotlin高阶函数
kotlin高阶函数 函数式API:一个函数的入参数为Lambda表达式的函数就是函数式api 例子: public inline fun <T> Iterable<T>.filter(predicate: (T) -> Boolean): List<T> {return filterTo(ArrayList<T>(), predicate) }上面这段函数: 首先这个函…...
kotlin list集合树
kotlin list集合树 记录一下 data class AreaSchemaManageDto(var id: Long? null,var pid: Long? null,var label: String? null,var children: MutableList<AreaSchemaManageDto>? null ) : Serializable { }逻辑 fun getAll(): List<AreaSchemaManageDto&g…...
基于Autoencoder自编码的64QAM星座图整形调制解调通信系统性能matlab仿真
目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 4.1星座图整形 4.2自编码器 4.3基于Autoencoder的星座图整形调制解调模型 4.4 实现过程 5.算法完整程序工程 1.算法运行效果图预览 2.算法运行软件版本 matlab2022a 3.部分核心程序 .…...
【Spring】Spring 总览
一、简单介绍一下 Spring Spring是一个全面的、企业应用开发的一站式解决方案,贯穿表现层、业务层、持久层,可以轻松和其他框架整合,具有轻量级、控制反转、面向切面、容器等特征。 轻量级 : 空间开销和时间开销都很轻量 控制反…...
微软、OpenAI用上“数据永动机” 合成数据是晨曦还是暮光?
微软、OpenAI、Cohere等公司已经开始测试使用合成数据来训练AI模型。Cohere首席执行官Aiden Gomez表示,合成数据可以适用于很多训练场景,只是目前尚未全面推广。 已有的(通用)数据资源似乎接近效能极限,开发人员认为&a…...
简单认识Redis 数据库的高可用
文章目录 一、Redis 高可用:1.简介:2、在Redis中实现高可用的技术 二、Redis持久化:1.持久化的功能:2.Redis 提供两种方式进行持久化: 三、RDB 持久化:1.简介:2.触发条件:4.启动时加…...
超级实用!,掌握这9个鲜为人知的CSS属性
微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势,学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录,有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的,我们出的钱 体验地…...
深圳国际新能源及智能网联汽车全产业博览会今年10月举办
7月25日,深圳市工业和信息化局与励展博览集团共同在深圳举办Automotive World China 2023深圳国际新能源及智能网联汽车全产业博览会(简称“AWC 2023”)全球推介启动大会,该博览会将于2023年10月11日-13日在深圳国际会展中心盛大举…...
【具有非线性反馈的LTI系统识别】针对反馈非线性的LTI系统,提供非线性辨识方案(SimulinkMatlab代码实现)
目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、Simulink仿真实现 💥1 概述 本文为具有反馈非线性的LTI系统提供了一种非线性识别方案,这取决于输入和LTI系统输出。对于MEMS来说尤其如此&#…...
Stable diffusion 和 Midjourney 怎么选?
通过这段时间的摸索,我将和你探讨,对普通人来说,Stable diffusion 和 Midjourney 怎么选?最重要的是,学好影视后期制作对 AI 绘画创作有哪些帮助?反过来,AI 绘画对影视后期又有哪些帮助…...
c++网络编程
网络编程模型 c/s 模型:客户端服务器模型b/s 模型:浏览器服务器模型1.tcp网络流程 服务器流程: 1.创建套接字2.完善服务器网络信息结构体3.绑定服务器网络信息结构体4.让服务器处于监听状态5.accept阻塞等待客户端连接信号6.收发数据7.关闭套…...
【沁恒蓝牙mesh】数据收发接口与应用层模型传递
本文主要描述了沁恒蓝牙mesh SDK的蓝牙数据收发接口,以及应用层的回调函数解析以及模型传递 这里写目录标题 1. 数据收发接口1.1【发送数据】1.2 【数据接收】 2. 应用层模型分析 1. 数据收发接口 1.1【发送数据】 /*(1)接口1 */ /*接口一&…...
Java类关系之代理(代理模式)
在Java中,如果一个类需要使用另一个类的方法,我们可以使用继承的方式实现,那么问题来了,如果这个类恰恰在逻辑关系上不能使用继承怎么办呢?比如说,飞机和控制台这两个类,控制台的方法有上下左右…...
java: 无法访问redis.clients.jedis.JedisPoolConfig
问题描述: 在编译java springboot程序的时候报错 java: 无法访问redis.clients.jedis.JedisPoolConfig 找不到redis.clients.jedis.JedisPoolConfig的类文件 问题分析 该问题是由于找不到JedisPoolConfig包导致的,很可能是没有添加相关的依赖 问题解决 在pom文件中添加依赖项…...
基于java中学教务管理系统设计与实现
摘要 随着现代技术的不断发展,计算机已经深度的应用到了当下的各个行业之中,教育行业也不例外。计算机对教育行业中的教务管理等内容的帮助,使得教职工从传统的手工办公像计算机辅助阶段迈进,并且实现了非常好的发展。现在的学校在…...
vscode设置java -Xmx最大堆内存
如果在vscode中直接运行java程序,想要改下每次运行的最大堆内存,按照如下修改 一、vscode安装java插件 当然前提是vscode在应用管理中已经安装了java语言的插件,Debugger for Java,如下图所示 二、CommandShiftP打开配置搜索框 三、搜索…...
组件开发系列--Apache Commons Chain
一、前言 Commons-chain是apache commons中的一个子项目,主要被使用在"责任链"的场景中,struts中action的调用过程,就是使用了"chain"框架做支撑.如果你的项目中,也有基于此种场景的需求,可以考虑使用它. 在责任链模式里,很多对象由每一个对象对…...
浅谈 React Hooks
React Hooks 是 React 16.8 引入的一组 API,用于在函数组件中使用 state 和其他 React 特性(例如生命周期方法、context 等)。Hooks 通过简洁的函数接口,解决了状态与 UI 的高度解耦,通过函数式编程范式实现更灵活 Rea…...
React 第五十五节 Router 中 useAsyncError的使用详解
前言 useAsyncError 是 React Router v6.4 引入的一个钩子,用于处理异步操作(如数据加载)中的错误。下面我将详细解释其用途并提供代码示例。 一、useAsyncError 用途 处理异步错误:捕获在 loader 或 action 中发生的异步错误替…...
CVPR 2025 MIMO: 支持视觉指代和像素grounding 的医学视觉语言模型
CVPR 2025 | MIMO:支持视觉指代和像素对齐的医学视觉语言模型 论文信息 标题:MIMO: A medical vision language model with visual referring multimodal input and pixel grounding multimodal output作者:Yanyuan Chen, Dexuan Xu, Yu Hu…...
【JavaWeb】Docker项目部署
引言 之前学习了Linux操作系统的常见命令,在Linux上安装软件,以及如何在Linux上部署一个单体项目,大多数同学都会有相同的感受,那就是麻烦。 核心体现在三点: 命令太多了,记不住 软件安装包名字复杂&…...
【开发技术】.Net使用FFmpeg视频特定帧上绘制内容
目录 一、目的 二、解决方案 2.1 什么是FFmpeg 2.2 FFmpeg主要功能 2.3 使用Xabe.FFmpeg调用FFmpeg功能 2.4 使用 FFmpeg 的 drawbox 滤镜来绘制 ROI 三、总结 一、目的 当前市场上有很多目标检测智能识别的相关算法,当前调用一个医疗行业的AI识别算法后返回…...
分布式增量爬虫实现方案
之前我们在讨论的是分布式爬虫如何实现增量爬取。增量爬虫的目标是只爬取新产生或发生变化的页面,避免重复抓取,以节省资源和时间。 在分布式环境下,增量爬虫的实现需要考虑多个爬虫节点之间的协调和去重。 另一种思路:将增量判…...
基于IDIG-GAN的小样本电机轴承故障诊断
目录 🔍 核心问题 一、IDIG-GAN模型原理 1. 整体架构 2. 核心创新点 (1) 梯度归一化(Gradient Normalization) (2) 判别器梯度间隙正则化(Discriminator Gradient Gap Regularization) (3) 自注意力机制(Self-Attention) 3. 完整损失函数 二…...
STM32---外部32.768K晶振(LSE)无法起振问题
晶振是否起振主要就检查两个1、晶振与MCU是否兼容;2、晶振的负载电容是否匹配 目录 一、判断晶振与MCU是否兼容 二、判断负载电容是否匹配 1. 晶振负载电容(CL)与匹配电容(CL1、CL2)的关系 2. 如何选择 CL1 和 CL…...
通过MicroSip配置自己的freeswitch服务器进行调试记录
之前用docker安装的freeswitch的,启动是正常的, 但用下面的Microsip连接不上 主要原因有可能一下几个 1、通过下面命令可以看 [rootlocalhost default]# docker exec -it freeswitch fs_cli -x "sofia status profile internal"Name …...
Windows 下端口占用排查与释放全攻略
Windows 下端口占用排查与释放全攻略 在开发和运维过程中,经常会遇到端口被占用的问题(如 8080、3306 等常用端口)。本文将详细介绍如何通过命令行和图形化界面快速定位并释放被占用的端口,帮助你高效解决此类问题。 一、准…...
