C语言:选择+编程(每日一练Day9)
目录
选择题:
题一:
题二:
题三:
题四:
题五:
编程题:
题一:自除数
思路一:
题二:除自身以外数组的乘积
思路二:
本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵!
感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!
选择题:
题一:
1、下列程序的输出是( )
#include<stdio.h>
int main()
{
int a [12]= {1,2,3,4,5,6,7,8,9,10,11,12},*p[4],i;
for(i=0;i<4;i++)
p[i]=&a [i*3];
printf("%d\n",p[3][2]);
return 0;
}
A: 上述程序有错误 B: 6 C: 8 D: 12
答案解析:
p是一个指针数组,p[i] = &a[i*3]相当于是把数组a每3个一组分开并把每组的首地址存在p数组,此时p类似一个4行3列的二维数组,p[3][2]就是4行第3个元素12。
题二:
2、二维数组X按行顺序存储,其中每个元素占1个存储单元。若 X[4][4] 的存储地址为 Oxf8b82140 , X[9][9] 的存储地址为 Oxf8b8221c ,则 X[7][7] 的存储地址为( )
A: Oxf8b821c4 B: Oxf8b821a6
C: Oxf8b82198 D: Oxf8b821c0
答案解析:
假设每行有n个元素:那x[9][9]元素的地址 - x[4][4]元素的地址 = 0x21c0x140=5n+5(21c和140是地址末三位的十六进制数),这里n是43,假设x[7][7]的地址是z,x[7][7]元素的地址 - x[4][4]元素的地址 = z-0x140 = 3n+3,z = 3n+3+140 =3*43+3+0x140 = 0x84+0x140 = 0x1c4,看地址的尾数,选择A。
题三:
3、以下哪个选项可以正确描述 sizeof(double) ( )
A: 一个整型表达式 B: 一个双精度型表达式
C: 一个不合法的表达式 D: 一种函数调用
答案解析:
sizeof是C语言中的一个操作符,不是函数调用,简单的说其作用就是返回一个对象或者类型所占的内存字节数,结果是无符号整数,因此可以把它看作是整型表达式。所以选择A。
题四:
4、下列代码运行后的结果是什么( )
int main()
{
char a = 'a',b;
printf("%c,", ++a);
printf("%c\n", b = a++);
return 0;
}
A: b,b B: b,c C: a,b D: a,c
答案解析:
变量a里边存的是字符'a',第一次输出先加加再输出,输出的是'b';第二次输出的时候,a先赋值再加加,赋值给b的就是a原来的值,输出b的时候的还是‘b’。
题五:
5、以下逗号表达式的值为( )
(x= 4 * 5 , x * 5) , x + 5;
A: 25 B: 20 C: 100 D: 45
答案解析:
逗号表达式是从前到后依次计算子表达式,而其结果是最后一项的值,此题去掉括号后的表达式,和原表达式是等价的,先计算4*5并赋值给x,x变为20,中间x*5并没有改变x的值,最后一项x+5值是25,也就是整个表达式的值。
编程题:
题一:自除数
728. 自除数 - 力扣(LeetCode)

示例 1:
输入:left = 1, right = 22 输出:[1, 2, 3, 4, 5, 6, 7, 8, 9, 11, 12, 15, 22]
思路一:
第一步:将returnSize的初始值设为“0”,开辟足够容纳所有可能值的数组num;
第二步:将题目所给的值域遍历一遍,每次用“n”记录当前遍历值;
第三步:在确保每次都将一个数遍历完,当n=“0”,就循环结束,否则开始判断是不是自除数,分别拿到个位、十位、百位的数值并取余;
第四步:如果最后n的值为“0”,说明是自除数并放入数组中,否则,不是。
int* selfDividingNumbers(int left, int right, int* returnSize)
{int i = 0;*returnSize = 0;//开辟数组空间int* num = (int*)malloc(4000);//遍历数组所给元素范围for(i = left; i <= right;i++){int n = i;//确保每次都将一个数遍历完for(int j = 0;j < 4;j++){//n为0,就不执行if(n % 10 != 0){int k = n % 10;//判断是不是自除数if(i % k == 0){n = n / 10;}}}//最后遍历完的就是自除数if(n == 0){num[(*returnSize)++] = i;}}return num;
}
题二:除自身以外数组的乘积
238. 除自身以外数组的乘积 - 力扣(LeetCode)

示例 1:
输入: nums =[1,2,3,4]输出:[24,12,8,6]
思路二:
需要明确知道: 题目意思是数组下标位置定义的值为除了自身以外数组里的所有元素相乘的值!
第一步:分别定义两个足够大小的数组,前缀arr1(当前数之前所有元素的乘积),后缀arr2(当前数之后所有元素的乘积),开辟相同大小的数组tmp;
第二步:前缀:前缀数组第一个元素为“1”即arr1[i] = left;,然后乘以原数组的第“i”位,得到的值放到left中;
第三步:从后往前,后缀:后缀数组最后一个元素为“1”即arr2[i] = right;然后乘以原数组的第“i”位,得到的值放到right中;
第四步:前缀与后缀的各个对应的元素相乘就是除自身以外的所有元素相乘。
//题目意思是数组下标位置定义的值为除了自身以外数组里的所有元素相乘的值
int* productExceptSelf(int* nums, int numsSize, int* returnSize)
{int n = numsSize;int arr1[100000] = {0};int arr2[100000] = {0};//开辟空间int* tmp = (int*)malloc(sizeof(int)*n);*returnSize = n;int left = 1;int right = 1;int i = 0;//计算各个元素的前缀for(i = 0;i < n;i++){arr1[i] = left;left = arr1[i] * nums[i];}//计算各个元素的后缀for(i = n-1;i >= 0;i--){arr2[i] = right;right = right * nums[i];}//前缀乘以后缀即结果for(i = 0;i < n;i++){tmp[i] = arr1[i] * arr2[i];}return tmp;
}
本人实力有限可能对一些地方解释和理解的不够清晰,可以自己尝试读代码,或者评论区指出错误,望海涵!
感谢大佬们的一键三连! 感谢大佬们的一键三连! 感谢大佬们的一键三连!

相关文章:
C语言:选择+编程(每日一练Day9)
目录 选择题: 题一: 题二: 题三: 题四: 题五: 编程题: 题一:自除数 思路一: 题二:除自身以外数组的乘积 思路二: 本人实力有限可能对…...
蓝桥等考Python组别十三级003
第一部分:选择题 1、Python L13 (15分) 运行下面程序,输出的结果是( )。 t = (1, 2, 2, 1, 4, 3, 2) print(t.count(2)) 1234正确答案:C 2、Python L13 (...
2023年CSP-J真题详解+分析数据(选择题篇)
目录 前言 2023CSP-J江苏卷详解 小结 前言 下面由我来给大家讲解一下CSP-J的选择题部分。 2023CSP-J江苏卷详解 1.答案 A 解析:const在C中是常量的意思,其作用是声明一个变量,值从头至尾不能被修改 2.答案 D 解析:八进制…...
基于三平面映射的地形纹理化【Triplanar Mapping】
你可能遇到过这样的地形:悬崖陡峭的一侧的纹理拉伸得如此之大,以至于看起来不切实际。 也许你有一个程序化生成的世界,你无法对其进行 UV 展开和纹理处理。 推荐:用 NSDT编辑器 快速搭建可编程3D场景 三平面映射(Trip…...
初步了解nodejs语法和web模块
在此, 第一个Node.js实例_js firstnode-CSDN博客 通过node运行一个简单的server.js,实现了一个http服务器; 但是还没有解析server.js的代码,下面看一下; require 指令 在 Node.js 中,使用 require 指令来…...
51单片机+EC11编码器实现可调参菜单+OLED屏幕显示
51单片机+EC11编码器实现可调参菜单+OLED屏幕显示 📍相关篇《stc单片机使用外部中断+EC11编码器实现计数功能》 🎈《STC单片机+EC11编码器实现调节PWM输出占空比》 🌼实际操作效果 🍁整个项目实现框架: 📓EC11接线原理图: 📓项目工程简介 📝仅凭借一个EC11编…...
数据结构刷题训练——二叉树篇(一)
📙作者简介: 清水加冰,目前大二在读,正在学习C/C、Python、操作系统、数据库等。 📘相关专栏:C语言初阶、C语言进阶、C语言刷题训练营、数据结构刷题训练营、有感兴趣的可以看一看。 欢迎点赞 👍…...
2023版 STM32实战5 基本定时器中断
基本定时器简介与特性 -1-时钟可分频 -2-计数模式只可以选择累加 -3-只可以用来定时(含中断) 查看时钟源 如图定时器7的时钟最大为72MHZ 定时时间的计算 通用定时器的时间计算公式为 Tout ((arr1)(psc1&…...
css3实现页面元素抖动效果
html <div id"shake" class"shape">horizontal shake</div>js(vue3) function shake(elemId) {const elem document.getElementById(elemId)console.log(获取el, elem)if (elem) {elem.classList.add(shake)setTimeou…...
[架构之路-232]:操作系统 - 文件系统存储方法汇总
目录 前言: 一、文件系统存储方法基本原理和常见应用案例: 二、Windows FAT文件系统 2.1 概述 三、Linux EXT文件系统 3.1 基本原理 3.2 索引节点表(Inode Table) 3.2.1 索引节点表层次结构 3.2.2 间接索引表的大小和表项…...
简述 AOP 动态代理
一、AopAutoConfiguration 源码: Configuration(proxyBeanMethods false) ConditionalOnProperty(prefix "spring.aop", name "auto", havingValue "true", matchIfMissing true) public class AopAutoConfiguration {Configur…...
机器学习基础之《分类算法(8)—随机森林》
一、什么是集成学习方法 1、定义 集成学习通过建立几个模型组合的来解决单一预测问题。它的工作原理是生成多个分类器/模型,各自独立地学习和作出预测。这些预测最后结合成组合预测,因此优于任何一个单分类的做出预测 谚语:三个臭皮匠顶个诸…...
Python数据攻略-Pandas进行CSV和Excel文件读写
在数据分析的世界里,能够读取和写入不同格式的文件是一项基本而重要的技能。CSV(逗号分隔值)和Excel是两种常见的数据存储格式。它们在商业、科研、教育等多个领域都有广泛应用。 文章目录 读取CSV文件`pd.read_csv()` 文件读取函数的基本用法`DataFrame.to_csv()` 数据写入…...
lv7 嵌入式开发-网络编程开发 13 UNIX域套接字
1 UNIX 域流式套接字 本地地址 struct sockaddr_un {unsigned short sun_family; /* 协议类型 */char sun_path[108]; /* 套接字文件路径 */ };UNIX 域流式套接字的用法和 TCP 套接字基本一致,区别在于使用的协议和地址不同 UNIX 域流式套接字服务器端…...
blender光照系统设置
0)Viewport Shading设置里面的Lighting下面的参数: Scene Lights,Scene World - Scene Lights是指在渲染模式下是否使用场景中的灯光对象来照亮物体。 - Scene World是指在渲染模式下是否使用场景中的世界设置来作为背景和环境光。如果关闭该选项&#…...
华为云云耀云服务器L实例评测|基于canal缓存自动更新流程 SpringBoot项目应用案例和源码
前言 最近华为云云耀云服务器L实例上新,也搞了一台来玩,期间遇到各种问题,在解决问题的过程中学到不少和运维相关的知识。 在之前的博客中,介绍过canal的安装和配置,参考博客 拉取创建canal镜像配置相关参数 & …...
vue3 中使用echarts图表——柱状图
柱状图是比较常用的图形结构,所以我先收集一些精美的柱状图 一、柱状图:设置圆角和颜色 <template><div class"box" ref"chartDom"></div> </template> <script setup> import { ref, onMounted } fr…...
基于Java的家政公司服务平台设计与实现(源码+lw+部署文档+讲解等)
文章目录 前言具体实现截图论文参考详细视频演示为什么选择我自己的网站自己的小程序(小蔡coding)有保障的售后福利 代码参考源码获取 前言 💗博主介绍:✌全网粉丝10W,CSDN特邀作者、博客专家、CSDN新星计划导师、全栈领域优质创作…...
深入了解 PostgreSQL:功能、特性和部署
PostgreSQL,通常简称为Postgres,是一款强大且开源的关系型数据库管理系统(RDBMS),它在数据存储和处理方面提供了广泛的功能和灵活性。本文将详细介绍 PostgreSQL 的功能、特性以及如何部署和使用它。 什么是 PostgreSQ…...
平台项目列表页实现(二)
这里写目录标题 一、顶部盒子设计1. 顶部盒子包含项目列表和添加项目、退出登录2个按钮 二、项目列表盒子设计三、添加项目盒子设计四、退出登录功能实现五、路由导航守卫实现六、展示项目信息七、bug修复1、当项目名称太长或者项目负责人太长,需要一行展示…...
DeFi预测市场套利机器人:延迟套利与结构性对冲策略详解
1. 项目概述:在2.7秒的缝隙中寻找确定性如果你在DeFi世界里寻找一种“低风险、高确定性”的套利机会,那么Polymarket这类预测市场可能是一个被低估的宝藏。这个项目,genoshide/polymarket-arbitrage-trading-bot,本质上是一个高度…...
【DeepSeek开发者垂直搜索实战指南】:3大行业落地案例+5个避坑要点,限时公开内部调优参数
更多请点击: https://intelliparadigm.com 第一章:DeepSeek开发者垂直搜索应用案例全景概览 DeepSeek系列大模型凭借其开源、高性能与强推理能力,正被广泛集成至开发者垂直搜索场景中——从代码片段检索、API文档语义查找,到私有…...
应用间自动化网关:构建私有化、可编程的跨平台工作流中枢
1. 项目概述与核心价值最近在折腾一些跨平台、跨设备的自动化流程,发现一个痛点:不同应用、不同服务之间的数据流转,经常需要手动“搭桥”。比如,想把手机上的一个链接快速推送到电脑上处理,或者把某个文档从A服务同步…...
基于React与Tailwind CSS的轻量级ChatGPT Web界面部署与定制指南
1. 项目概述与核心价值最近在折腾AI应用开发,发现很多朋友都想自己部署一个轻量级的ChatGPT对话服务,但面对动辄几个G的模型和复杂的部署流程就望而却步。直到我发现了blrchen/chatgpt-lite这个项目,它完美地解决了这个问题——一个真正轻量、…...
AI驱动的链上数据分析:Arkham工具实战与智能监控体系构建
1. 项目概述:一个面向链上数据的智能分析中枢如果你和我一样,在加密货币和Web3的世界里摸爬滚打了几年,你一定会对一个问题深有感触:链上数据浩如烟海,但真正能转化为有效决策的洞察却少之又少。我们每天面对着成千上万…...
混元图像3.0对话P图技术解析:本地化可控生成新范式
1. 项目概述:这不是又一个“AI修图”功能,而是本地化P图工作流的临界点“腾讯混元图像3.0图生图模型上线,元宝也支持对话P图啦!”——这句话在科技圈刷屏那天,我正用本地部署的Stable Diffusion给客户改第十版电商主图…...
Windows平台ADB驱动终极安装指南:3分钟搞定Android开发环境
Windows平台ADB驱动终极安装指南:3分钟搞定Android开发环境 【免费下载链接】Latest-adb-fastboot-installer-for-windows A Simple Android Driver installer tool for windows (Always installs the latest version) 项目地址: https://gitcode.com/gh_mirrors/…...
Next.js功能开关实践:用happykit/flags实现灰度发布与A/B测试
1. 项目概述:为什么我们需要一个功能开关系统?在软件开发,尤其是现代Web应用和微服务架构的迭代过程中,我们经常面临一个经典困境:新功能开发完成后,是直接全量发布给所有用户,还是先小范围灰度…...
使用Taotoken CLI工具一键配置多开发环境下的API访问密钥
🚀 告别海外账号与网络限制!稳定直连全球优质大模型,限时半价接入中。 👉 点击领取海量免费额度 使用Taotoken CLI工具一键配置多开发环境下的API访问密钥 在团队协作或个人多设备开发场景中,为不同的AI开发工具&…...
Chrome QRCode:浏览器原生二维码生成与解析的极简技术方案
Chrome QRCode:浏览器原生二维码生成与解析的极简技术方案 【免费下载链接】chrome-qrcode :zap: A Chrome plugin to Genrate QRCode of URL / Text, or Decode the QRcode in website. 一个Chrome浏览器插件,用于生成当前URL或者选中内容的二维码&…...

