当前位置: 首页 > news >正文

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: 1aBceDF2DF

4、下列条件语句中,功能与其他语句不同的是( )

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 ,小写转大写则是 -32

2 、【答案解析】

正确答案: B
因 print(“*”) 函数调用的返回值是字符串中字符的个数,即为 1 。所以 while 后面的条件恒为真,所以循环控制表达式与'0' 是等价的(字符 '0' 不是 0 )。正确答案是 B

3 、【答案解析】

正确答案: C
程序首先考虑 ch 的 ASCII 码值是不是奇数,再看是不是小写字母,同时满足时被改为大写字母

4 、【答案解析】

正确答案: D
D 选项与众不同,其他都是 a==0 时输出 y , a!=0 时输出 x

5.【答案解析】

正确答案: 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、如下程序的功能是&#xff08; &#xff09; #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代码&#xff1a; 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实现)

使用场景 现在越来越多的项目使用的前后端分离的模式进行开发&#xff0c;后端开发人员使用API接口传递数据给到前端开发进行处理展示&#xff0c;在一些比较重要的修改数据接口&#xff0c;涉及金钱&#xff0c;用户信息等修改的接口如果不做防护验证&#xff0c;经常容易被人…...

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是一个全面的、企业应用开发的一站式解决方案&#xff0c;贯穿表现层、业务层、持久层&#xff0c;可以轻松和其他框架整合&#xff0c;具有轻量级、控制反转、面向切面、容器等特征。 轻量级 &#xff1a; 空间开销和时间开销都很轻量 控制反…...

微软、OpenAI用上“数据永动机” 合成数据是晨曦还是暮光?

微软、OpenAI、Cohere等公司已经开始测试使用合成数据来训练AI模型。Cohere首席执行官Aiden Gomez表示&#xff0c;合成数据可以适用于很多训练场景&#xff0c;只是目前尚未全面推广。 已有的&#xff08;通用&#xff09;数据资源似乎接近效能极限&#xff0c;开发人员认为&a…...

简单认识Redis 数据库的高可用

文章目录 一、Redis 高可用&#xff1a;1.简介&#xff1a;2、在Redis中实现高可用的技术 二、Redis持久化&#xff1a;1.持久化的功能&#xff1a;2.Redis 提供两种方式进行持久化&#xff1a; 三、RDB 持久化&#xff1a;1.简介&#xff1a;2.触发条件&#xff1a;4.启动时加…...

超级实用!,掌握这9个鲜为人知的CSS属性

微信搜索 【大迁世界】, 我会第一时间和你分享前端行业趋势&#xff0c;学习途径等等。 本文 GitHub https://github.com/qq449245884/xiaozhi 已收录&#xff0c;有一线大厂面试完整考点、资料以及我的系列文章。 快来免费体验ChatGpt plus版本的&#xff0c;我们出的钱 体验地…...

深圳国际新能源及智能网联汽车全产业博览会今年10月举办

7月25日&#xff0c;深圳市工业和信息化局与励展博览集团共同在深圳举办Automotive World China 2023深圳国际新能源及智能网联汽车全产业博览会&#xff08;简称“AWC 2023”&#xff09;全球推介启动大会&#xff0c;该博览会将于2023年10月11日-13日在深圳国际会展中心盛大举…...

【具有非线性反馈的LTI系统识别】针对反馈非线性的LTI系统,提供非线性辨识方案(SimulinkMatlab代码实现)

目录 &#x1f4a5;1 概述 &#x1f4da;2 运行结果 &#x1f389;3 参考文献 &#x1f308;4 Matlab代码、Simulink仿真实现 &#x1f4a5;1 概述 本文为具有反馈非线性的LTI系统提供了一种非线性识别方案&#xff0c;这取决于输入和LTI系统输出。对于MEMS来说尤其如此&#…...

Stable diffusion 和 Midjourney 怎么选?

通过这段时间的摸索&#xff0c;我将和你探讨&#xff0c;对普通人来说&#xff0c;Stable diffusion 和 Midjourney 怎么选&#xff1f;最重要的是&#xff0c;学好影视后期制作对 AI 绘画创作有哪些帮助&#xff1f;反过来&#xff0c;AI 绘画对影视后期又有哪些帮助&#xf…...

c++网络编程

网络编程模型 c/s 模型&#xff1a;客户端服务器模型b/s 模型&#xff1a;浏览器服务器模型1.tcp网络流程 服务器流程&#xff1a; 1.创建套接字2.完善服务器网络信息结构体3.绑定服务器网络信息结构体4.让服务器处于监听状态5.accept阻塞等待客户端连接信号6.收发数据7.关闭套…...

【沁恒蓝牙mesh】数据收发接口与应用层模型传递

本文主要描述了沁恒蓝牙mesh SDK的蓝牙数据收发接口&#xff0c;以及应用层的回调函数解析以及模型传递 这里写目录标题 1. 数据收发接口1.1【发送数据】1.2 【数据接收】 2. 应用层模型分析 1. 数据收发接口 1.1【发送数据】 /*&#xff08;1&#xff09;接口1 */ /*接口一&…...

Java类关系之代理(代理模式)

在Java中&#xff0c;如果一个类需要使用另一个类的方法&#xff0c;我们可以使用继承的方式实现&#xff0c;那么问题来了&#xff0c;如果这个类恰恰在逻辑关系上不能使用继承怎么办呢&#xff1f;比如说&#xff0c;飞机和控制台这两个类&#xff0c;控制台的方法有上下左右…...

java: 无法访问redis.clients.jedis.JedisPoolConfig

问题描述: 在编译java springboot程序的时候报错 java: 无法访问redis.clients.jedis.JedisPoolConfig 找不到redis.clients.jedis.JedisPoolConfig的类文件 问题分析 该问题是由于找不到JedisPoolConfig包导致的,很可能是没有添加相关的依赖 问题解决 在pom文件中添加依赖项…...

基于java中学教务管理系统设计与实现

摘要 随着现代技术的不断发展&#xff0c;计算机已经深度的应用到了当下的各个行业之中&#xff0c;教育行业也不例外。计算机对教育行业中的教务管理等内容的帮助&#xff0c;使得教职工从传统的手工办公像计算机辅助阶段迈进&#xff0c;并且实现了非常好的发展。现在的学校在…...

vscode设置java -Xmx最大堆内存

如果在vscode中直接运行java程序&#xff0c;想要改下每次运行的最大堆内存&#xff0c;按照如下修改 一、vscode安装java插件 当然前提是vscode在应用管理中已经安装了java语言的插件&#xff0c;Debugger for Java,如下图所示 二、CommandShiftP打开配置搜索框 三、搜索…...

组件开发系列--Apache Commons Chain

一、前言 Commons-chain是apache commons中的一个子项目,主要被使用在"责任链"的场景中,struts中action的调用过程,就是使用了"chain"框架做支撑.如果你的项目中,也有基于此种场景的需求,可以考虑使用它. 在责任链模式里&#xff0c;很多对象由每一个对象对…...

Python爬虫实战:研究MechanicalSoup库相关技术

一、MechanicalSoup 库概述 1.1 库简介 MechanicalSoup 是一个 Python 库,专为自动化交互网站而设计。它结合了 requests 的 HTTP 请求能力和 BeautifulSoup 的 HTML 解析能力,提供了直观的 API,让我们可以像人类用户一样浏览网页、填写表单和提交请求。 1.2 主要功能特点…...

以下是对华为 HarmonyOS NETX 5属性动画(ArkTS)文档的结构化整理,通过层级标题、表格和代码块提升可读性:

一、属性动画概述NETX 作用&#xff1a;实现组件通用属性的渐变过渡效果&#xff0c;提升用户体验。支持属性&#xff1a;width、height、backgroundColor、opacity、scale、rotate、translate等。注意事项&#xff1a; 布局类属性&#xff08;如宽高&#xff09;变化时&#…...

智慧工地云平台源码,基于微服务架构+Java+Spring Cloud +UniApp +MySql

智慧工地管理云平台系统&#xff0c;智慧工地全套源码&#xff0c;java版智慧工地源码&#xff0c;支持PC端、大屏端、移动端。 智慧工地聚焦建筑行业的市场需求&#xff0c;提供“平台网络终端”的整体解决方案&#xff0c;提供劳务管理、视频管理、智能监测、绿色施工、安全管…...

python如何将word的doc另存为docx

将 DOCX 文件另存为 DOCX 格式&#xff08;Python 实现&#xff09; 在 Python 中&#xff0c;你可以使用 python-docx 库来操作 Word 文档。不过需要注意的是&#xff0c;.doc 是旧的 Word 格式&#xff0c;而 .docx 是新的基于 XML 的格式。python-docx 只能处理 .docx 格式…...

EtherNet/IP转DeviceNet协议网关详解

一&#xff0c;设备主要功能 疆鸿智能JH-DVN-EIP本产品是自主研发的一款EtherNet/IP从站功能的通讯网关。该产品主要功能是连接DeviceNet总线和EtherNet/IP网络&#xff0c;本网关连接到EtherNet/IP总线中做为从站使用&#xff0c;连接到DeviceNet总线中做为从站使用。 在自动…...

Java面试专项一-准备篇

一、企业简历筛选规则 一般企业的简历筛选流程&#xff1a;首先由HR先筛选一部分简历后&#xff0c;在将简历给到对应的项目负责人后再进行下一步的操作。 HR如何筛选简历 例如&#xff1a;Boss直聘&#xff08;招聘方平台&#xff09; 直接按照条件进行筛选 例如&#xff1a…...

大学生职业发展与就业创业指导教学评价

这里是引用 作为软工2203/2204班的学生&#xff0c;我们非常感谢您在《大学生职业发展与就业创业指导》课程中的悉心教导。这门课程对我们即将面临实习和就业的工科学生来说至关重要&#xff0c;而您认真负责的教学态度&#xff0c;让课程的每一部分都充满了实用价值。 尤其让我…...

全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比

目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec&#xff1f; IPsec VPN 5.1 IPsec传输模式&#xff08;Transport Mode&#xff09; 5.2 IPsec隧道模式&#xff08;Tunne…...

python执行测试用例,allure报乱码且未成功生成报告

allure执行测试用例时显示乱码&#xff1a;‘allure’ &#xfffd;&#xfffd;&#xfffd;&#xfffd;&#xfffd;ڲ&#xfffd;&#xfffd;&#xfffd;&#xfffd;ⲿ&#xfffd;&#xfffd;&#xfffd;Ҳ&#xfffd;&#xfffd;&#xfffd;ǿ&#xfffd;&am…...

Mobile ALOHA全身模仿学习

一、题目 Mobile ALOHA&#xff1a;通过低成本全身远程操作学习双手移动操作 传统模仿学习&#xff08;Imitation Learning&#xff09;缺点&#xff1a;聚焦与桌面操作&#xff0c;缺乏通用任务所需的移动性和灵活性 本论文优点&#xff1a;&#xff08;1&#xff09;在ALOHA…...