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

C语言练习记录(蓝桥杯练习)(小蓝数点)

目录

 小蓝数点

 第一题程序的输出结果是?:

第二题下面代码的执行结果是什么?:

第三题下面代码的执行结果是什么?:

第四题关于关系操作符说法错误的是?:

第五题对于下面代码段,y的值为?

第六题sum = 21

第七题设字符型变量x的值是064,表达式“~ x ^ x << 2 & x”的值是()​编辑

第八题变量void (*s[5])(int)表示意思为


 小蓝数点

蓝桥用户登录

此题要用到两个数学公式

1、三点间面积公式:s = |(x2 - x1) × (y3 - y2) - (y2 - y1) × (x3 - x2)| / 2

代码实现 :

s = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2); 
    if (s < 0)
    {
        s = -s;
    }
    s = s / 2;

2、皮克定理:是一个计算点阵中顶点在格点上的多边形面积公式,具体为S=a+b÷2-1,其中a表示多边形内部的点数,b表示多边形落在格点边界上的点数,S表示多边形的面积。

代码实现:

n = s + 1 - count / 2;

接下来是解题思路:

  • 变量声明:

  • x1, y1, x2, y2, x3, y3:这些变量用于存储三条线段的端点坐标。 s:存储三条线段的交点数量。 k1, k2, k3:存储线段的斜率。 count:存储三条线段之间交点的数量。(count = -6,而后每个点计算两次,故后面计算不用-1) t:用于计算交点坐标的临时变量。 n:最后输出结果。

  • 求面积

  • 对三个坐标进行排序,使得x1 <= x2 <= x3。这一步是为了简化后续的计算过程。

  • 计算斜率k1、把x1和x2之间的整数点一一带入点斜式计算,判断y是否为整数,若为整数,则count++,注意斜率不存在的情况,此时直接计算两点间有几个点是整数点。

  • 对于k2、k3重复上述操作。

  • 最后,计算输出结果n = s - count / 2,并输出(此处不需要减一,因为减一的情况已经考虑过了)。

个人认为此方法的缺陷:代码中存在一些冗余,可能需要进行调整和优化以适应特定的需求,此算法也并非最优解,只是我个人能想出来的解。 

int main(int argc, char* argv[])
{double x1 = 0, y1 = 0;double x2 = 0, y2 = 0;double x3 = 0, y3 = 0;double s = 0, k1 = 0, k2 = 0, k3 = 0;double count = 0, t = 0;/*double a = 0, b = 0, c = 0;*/long long int n = 0;scanf("%lf%lf", &x1, &y1);scanf("%lf%lf", &x2, &y2);scanf("%lf%lf", &x3, &y3);s = x1 * (y2 - y3) + x2 * (y3 - y1) + x3 * (y1 - y2);if (s < 0){s = -s;}s = s / 2;if (x1 > x2){x1 = x1 + x2;x2 = x1 - x2;x1 = x1 - x2;y1 = y1 + y2;y2 = y1 - y2;y1 = y1 - y2;}if (x2 > x3){x3 = x3 + x2;x2 = x3 - x2;x3 = x3 - x2;y3 = y3 + y2;y2 = y3 - y2;y3 = y3 - y2;}if (x1 > x3){x3 = x3 + x1;x1 = x3 - x1;x3 = x3 - x1;y3 = y3 + y1;y1 = y3 - y1;y3 = y3 - y1;}if (x1 != x2){k1 = (y1 - y2) / (x1 - x2);for (int i = x1 + 1; i < x2; i++){t = y1 + k1 * (i - x1);if (t - ceil(t) == 0){count++;}t = 0;}}else {int m = y2 - y1;if (m < 0){m = -m;}count += m - 2;}if (x2 != x3){k2 = (y2 - y3) / (x2 - x3);for (int i = x2 + 1; i < x3; i++){t = y2 + k2 * (i - x2);if (t - ceil(t) == 0){count++;}t = 0;}}else {int m = y3 - y2;if (m < 0){m = -m;}count += m - 2;}if (x1 != x3){k3 = (y1 - y3) / (x1 - x3);for (int i = x3; i > x1; i--){t = y3 + k3 * (i - x3);if (t - ceil(t) == 0){count++;}t = 0;}}else {int m = y3 - y1;if (m < 0){m = -m;}count += m - 2;}n = s - count / 2;printf("%lld", n);return 0;
}

 第一题程序的输出结果是?:

第一次循环:a = 1,b=1--->b小于20,if不成立,b=b+3, 此时b的值为4,

以此类推:

第八次循环:a = 8,b=1+3*7--->b大于20,if成立,循环break终止

最后打印a:8

第二题下面代码的执行结果是什么?:

switch的每个case之后如果没有加break语句,当前case执行结束后,会继续执行紧跟case中的语句。故最终执行default之后的语句

第三题下面代码的执行结果是什么?:

#include <stdio.h>int main() {int x = 3;int y = 3;switch (x % 2) {  // x%2的结果为1,因此执行case1case 1:switch (y)   // y是3,因此会执行case3,而case3不存在,那只能执行default{case 0:printf("first");case 1:printf("second");break;default: printf("hello"); // 打印hello,打印完之后,内部switch结束,此时外部case1结束}             // 因为外部case1之后没有添加break语句,所以继续执行case2case 2:             // 打印thirdprintf("third");      // 外部switch结束}return 0;}

同上,如果没有break,case语句会从上往下一直执行

第四题关于关系操作符说法错误的是?:

两个字符串是否相等不能使用==,应该使用strcmp函数

第五题对于下面代码段,y的值为?

此处有两个坑,

1、求的是y的值,而不是t

2、若||左边为真则不计算右边的代码

第六题sum = 21

  • a[3][3]={{3,5},{8,9},{12,35}};  

  • 二维数组没有初始化的值默认初始化为0, 

  • 即:a[3][3]={{3,5,0},{8,9,0},{12,35,0}}; 

  •  sum = a[0][2]+a[1][1]+a[2][0] = 0+9+12 = 21。

第七题设字符型变量x的值是064,表达式“~ x ^ x << 2 & x”的值是()

  • x << 2: 这将x的二进制表示左移2位。由于x是字符型变量,其值为064(八进制),这在十进制中是52,二进制中是00110100。左移2位后,它变为11010000

  • ~x: 这是对x的按位取反。对于x = 00110100,取反后得到11001011。

  • ~x ^ x: 这是上面得到的两个结果的异或操作。即11001011 XOR 00110100 = 11111111。

  • (~x ^ x) & x << 2: 这是上面得到的11111111与x << 2的结果(即11010000)的按位与操作。结果为11010000,即八进制的333

  • 最后八进制前置加上0,0333,选A

第八题变量void (*s[5])(int)表示意思为

  • 先看主体:s[5]  这表示s是一个大小为5的数组。

  • *s:在数组前加上*表示数组的每个元素都是一个指针。

  • void (*)(int):这是一个函数指针的类型,它指向一个接受一个int参数并返回void的函数。

  • 总结:该类题需先看主体是数组,函数,还是指针

今天就先到这了!!!

看到这里了还不给博主扣个:
⛳️ 点赞☀️收藏 ⭐️ 关注!

你们的点赞就是博主更新最大的动力!
有问题可以评论或者私信!!!

关注必回!!!

相关文章:

C语言练习记录(蓝桥杯练习)(小蓝数点)

目录 小蓝数点 第一题程序的输出结果是&#xff1f;: 第二题下面代码的执行结果是什么&#xff1f;: 第三题下面代码的执行结果是什么&#xff1f;: 第四题关于关系操作符说法错误的是&#xff1f;: 第五题对于下面代码段&#xff0c;y的值为&#xff1f; 第六题sum 21 …...

RPG项目01_层级设置

基于“RPG项目01_UI面板Game”&#xff0c; 找到狼人 添加组件&#xff0c;让狼人一定区域自动跟随主角进行攻击 解释&#xff1a;【烘培蓝色】因为如果什么都不做就会被烘培成蓝色对应的功能就是 可修改区域功能 当将区域设置成不可行走状态&#xff0c;则不为蓝色 烘培&…...

相关基础知识

本文引注&#xff1a; https://zhuanlan.zhihu.com/p/447221519 1.方差 2.自协方差矩阵 3.自相关矩阵 4.互协方差矩阵 5.互相关矩阵 6.相关系数 7.自相关函数、自协方差函数与功率谱密度 8.互相关函数、互协方差函数与互功率谱密度...

基于单片机的智能健康监测手环的设计

目 录 1 绪论... 2 1.1 引言... 2 1.2 智能手环的国内外研究现状... 2 1.3 课题的研究意义... 3 1.4 本文的研究内容和章节安排... 4 2 智能手环系统设计方案... 5 2.1 系统总体设计方案... 5 2.2 主芯片选择... 5 2.3 显示方案的选择... 6 2.4 倾角传感器的选择... 6 2.5 心率…...

boost-字符串处理-判断-查找-裁剪-删除-替换-分割-合并

文章目录 1.判断1.1.equals1.2.all1.3.starts_with1.4.ends_with1.5.contains 2.大小写转换3.字符串删除4.字符串替换5.字符串查找6.字符串修剪7.字符串分割8.字符串合并9.总结 1.判断 判别式函数和分类函数大多数都是以is_开头&#xff0c;这些函数如下&#xff1a; 判别式函…...

Django 开发 web 后端,好用过 SpringBoot ?

基础语法 Django&#xff08;Python&#xff09;&#xff1a;以简洁和直观著称。它允许更快的开发速度&#xff0c;特别适合快速迭代的项目。例如&#xff0c;一个简单的视图函数&#xff1a; from django.http import HttpResponsedef hello_world(request):return HttpRespon…...

【矩阵】54.螺旋矩阵(顺时针打印矩形元素)

题目 class Solution {public List<Integer> spiralOrder(int[][] matrix) {int m matrix.length, n matrix[0].length;int leftUpM 0, leftUpN 0, rightDownM m - 1, rightDownN n - 1;List<Integer> res new ArrayList<>();while (leftUpM < ri…...

【数据中台】开源项目(5)-Amoro

介绍 Amoro is a Lakehouse management system built on open data lake formats. Working with compute engines including Flink, Spark, and Trino, Amoro brings pluggable and self-managed features for Lakehouse to provide out-of-the-box data warehouse experience,…...

_WorldSpaceLightPos0的含义 UNITY SHADER

_WorldSpaceLightPos0 为当前平行光的方向&#xff0c;方向是从光源到照射的方向。 因此&#xff0c;如果要算法线和平行光之间的夹角&#xff0c; 则需要首先将归一化的_WorldSpaceLightPos0去负数。这样才能继续去计算。 也就是&#xff1a; fixed3 reflectdirnormalize…...

iOS不越狱自动挂机

自动挂机在电脑上或者安卓手机上都相对容易&#xff0c;而在不越狱的iOS设备上还是有点难度的。 此方法不是我原创&#xff0c;详情见&#xff1a; 【苹果党福音&#xff0c;ios也能用的挂机脚本】 https://www.bilibili.com/video/BV1sv4y1P7TL/?share_sourcecopy_web&v…...

智能优化算法应用:基于鼠群算法无线传感器网络(WSN)覆盖优化 - 附代码

智能优化算法应用&#xff1a;基于鼠群算法无线传感器网络(WSN)覆盖优化 - 附代码 文章目录 智能优化算法应用&#xff1a;基于鼠群算法无线传感器网络(WSN)覆盖优化 - 附代码1.无线传感网络节点模型2.覆盖数学模型及分析3.鼠群算法4.实验参数设定5.算法结果6.参考文献7.MATLAB…...

FL Studio中如何录音的技巧,让你的声音更加出众哦!

​ Hey小伙伴们&#xff01;今天我要和大家分享一下在FL Studio中如何录音的技巧&#xff0c;让你的声音更加出众哦&#xff01; 编曲软件FL Studio 即“Fruity Loops Studio ”&#xff0c;也就是众所熟知的水果软件&#xff0c; 全能音乐制作环境或数字音频工作站&#xff0…...

前端React基础面试题

1,说说react里面bind函数与箭头函数 bind 由于在类中,采用的是严格模式,所以事件回调的时候会丢失this指向,指向的undefined,需要使用bind来给函数绑定上当前实例的this指向。 箭头函数的this指向上下文,所以永久能拿到当前组件实例的。this指向我们可以完美的使用箭头…...

【1day】致远A6系统任意文件下载漏洞学习

注:该文章来自作者日常学习笔记,请勿利用文章内的相关技术从事非法测试,如因此产生的一切不良后果与作者无关。 目录 一、漏洞描述 二、影响版本 三、资产测绘 四、漏洞复现...

朝花夕拾华山平台流水账

2022年8月25日&#xff0c;我加入了诚迈科技&#xff08;南京&#xff09;&#xff0c;加入了华山平台。 跟我一起入职平台的还有三个小伙伴&#xff1a;小帅、小阳、小甘。 小帅能力很强&#xff0c;前后端都会&#xff0c;入职各种考试工具人。 小阳毕业没多久&#xff0c;一…...

云原生周刊:K8s 的 YAML 技巧 | 2023.12.4

开源项目推荐 Helmfile Helmfile 是用于部署 Helm Chart 的声明性规范。其功能有&#xff1a; 保留图表值文件的目录并维护版本控制中的更改。将 CI/CD 应用于配置更改。定期同步以避免环境偏差。 Docketeer 一款 Docker 和 Kubernetes 开发人员工具&#xff0c;用于管理容…...

Leetcode.2477 到达首都的最少油耗

题目链接 Leetcode.2477 到达首都的最少油耗 rating : 2012 题目描述 给你一棵 n n n 个节点的树&#xff08;一个无向、连通、无环图&#xff09;&#xff0c;每个节点表示一个城市&#xff0c;编号从 0 0 0 到 n − 1 n - 1 n−1 &#xff0c;且恰好有 n − 1 n - 1 n−…...

sizeof()、strlen()、length()、size()的区别(笔记)

​ 上面的笔记有点简陋&#xff0c;可以看一下下面这个博主的&#xff1a; c/c中sizeof()、strlen()、length()、size()详解和区别_csize,sizeof,length_xuechanba的博客-CSDN博客...

Redis击穿(热点key失效)

Redis击穿是指在高并发情况下&#xff0c;一个键在缓存中过期失效时&#xff0c;同时有大量请求访问该键&#xff0c;导致所有请求都落到数据库上&#xff0c;对数据库造成压力。这种情况下&#xff0c;数据库可能无法及时处理这些请求&#xff0c;导致性能下降甚至崩溃。 为了…...

分类预测 | Matlab实现OOA-CNN-SVM鱼鹰算法优化卷积支持向量机分类预测

分类预测 | Matlab实现OOA-CNN-SVM鱼鹰算法优化卷积支持向量机分类预测 目录 分类预测 | Matlab实现OOA-CNN-SVM鱼鹰算法优化卷积支持向量机分类预测分类效果基本描述程序设计参考资料 分类效果 基本描述 1.Matlab实现OOA-CNN-SVM鱼鹰算法优化卷积支持向量机分类预测&#xff0…...

class文件结构

文章目录 1. 常量池集合2. 访问标志3. 字段表集合4. 方法表集合5. 属性表集合 成员变量&#xff08;非静态&#xff09;的赋值过程&#xff1a;1. 默认初始化 2. 显示初始化/代码块中初始化 3. 构造器中初始化 4. 有了对象后对象。属性或者对象。方法的方式对成员变量进行赋值 …...

多重背包问题 一句话说清楚“二进制拆分“

目录 区别&#xff1a; 一句话说清楚&#xff1a; 板子&#xff1a; 区别&#xff1a; 得先懂完全背包问题完全背包问题 非零基础-CSDN博客 都是让背包内价值最大。 完全背包问题每种物品可以取无数次。而多重背包问题每件取的次数有限。 都可以用的最挫的方法就是0~k件去…...

nodejs微信小程序+python+PHP本科生优秀作业交流网站的设计与实现-计算机毕业设计推荐

通过软件的需求分析已经获得了系统的基本功能需求&#xff0c;根据需求&#xff0c;将本科生优秀作业交流网站功能模块主要分为管理员模块。管理员添加系统首页、个人中心、用户管理、作业分类管理、作业分享管理、论坛交流、投诉举报、系统管理等操作。 随着信息化社会的形成…...

使用git出现的问题

保证 首先保证自己的git已经下载 其次保证自己的gitee账号已经安装并且已经生成ssh公钥 保证自己要push的代码在要上传的文件夹内并且配置文件等都在父文件夹&#xff08;也就是文件没有套着文件&#xff09; 问题 1 $ git push origin master gitgitee.com: Permission de…...

rk3568 适配PCIE(二)

rk3568 适配pcie3.0 PCIe(Peripheral Component Interconnect Express)是一种用于连接计算机主板和其他设备的高速串行总线接口。PCIe 2.0和PCIe 3.0是两个不同版本的PCIe规范,它们在以下几个方面有所不同: 带宽:PCIe 2.0的理论带宽为每条通道5 Gbps,而PCIe 3.0的理论带…...

Java基础 进制

在Java中&#xff0c;可以使用不同的进制表示整数常量和字面量。 十进制&#xff08;Decimal&#xff09;&#xff1a;默认为十进制&#xff0c;不需要添加前缀。例如&#xff1a;int num 10;二进制&#xff08;Binary&#xff09;&#xff1a;以0b或0B作为前缀表示二进制。例…...

springboot中@Builder注解的详细用法实例,跟数据库结合。

在Spring Boot中&#xff0c;Builder注解是Lombok库提供的一个注解&#xff0c;用于生成带有Builder模式支持的构造器方法。通过Builder注解&#xff0c;可以简化对象的创建过程&#xff0c;特别适用于需要设置多个属性的情况。 下面是一个使用Builder注解的示例&#xff1a; …...

WT2605C蓝牙音频语音芯片:具备大功率IO驱动能力,引领音频技术新纪元

在当今的电子科技时代&#xff0c;功率强大的IO驱动能力成为音频设备性能的重要指标。近日&#xff0c;一款名为WT2605C的蓝牙音频语音芯片&#xff0c;以其最高可直接驱动64mA的大功率IO驱动能力&#xff0c;引起业界的广泛关注。这款芯片的出现&#xff0c;无疑将为音频设备的…...

【Java 基础】20 多线程操作方法

文章目录 1.获取和设置线程的名字1&#xff09;获取默认名字2&#xff09;获取自定义的名字 2.判断线程是否启动3.线程的强制执行4.让线程睡一会儿5.中断线程6.守护线程7.线程的礼让 前一节我们介绍了线程的定义、创建方法、状态以及各状态间的转换。在状态转换处只是简单的说明…...

SpringBoot使用mybatis-plus分页查询无效解决方案

问题概述 SpringBoot中使用mybatis-plus实现分页查询时&#xff0c;提供一个page分页对象和一个QueryWrapper条件类对象&#xff0c;在使用Service.page(page,queryWrapper)方法进行分页查询时&#xff0c;发现并未查询到分页的结果&#xff0c;反而是查询到全部符合条件的结果…...

网站制作的流程是什么/站内推广方式

目录 柔性数组的定义 柔性数组的特点 柔性数组的优势 C语言&#x1f6f4; 柔性数组的定义 什么是柔性数组呢&#xff1f; C99中&#xff0c;如果在结构体定义的时候&#xff0c;结构体中的最后一个元素允许是未知大小的数组&#xff0c;那么这个数组便叫做 柔性数组 。 下面举个…...

wordpress采集前端发文/bing搜索引擎入口官网

奇数阶魔方 Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others)Total Submission(s): 4861 Accepted Submission(s): 2770 Problem Description一个 n 阶方阵的元素是1,2,...,n^2,它的每行&#xff0c;每列和2条对角线上元素的和相等&am…...

网站建设运营费用包括哪些/网络营销好找工作吗

阅读本文大概需要 3.5 分钟。 本篇是设计模式系列的开篇&#xff0c;虽然之前也写过相应的文章&#xff0c;但是因为种种原因后来断掉了&#xff0c;而且发现之前写的内容也很渣&#xff0c;不够系统。 所以现在打算重写&#xff0c;加上距离现在也有一段时间了&#xff0c;也算…...

做手机网站版面做多宽/百度网页版浏览器

首先新建一个文本&#xff0c;重新将后缀名改为.bat 右击编辑 输入start http://geekprank.com/hacker/--kiosk Ctrls保存。 start就是访问这个网址&#xff0c;当然我提供的这个网址还挺有意思的&#xff01; 效果图如下&#xff1a; 结语&#xff1a;今天的代码你学废了吗&a…...

广州天河区做网站/广告主平台

前一段一直处于装修和新的项目上手的时期&#xff0c;没有闲下来总结反思。长长有一种猴子掰玉米的感觉。从今天开始简单总结一下之前的东西。 今天暂时列一个提纲出来&#xff0c;之后会逐个章节补充上来&#xff1a; 1.流媒体基本知识---- RTSP RTP RTCP 2.开源的编解码框架 …...

网站策划书格式/全网品牌推广

Elasticsearch.安装&#xff08;单节点&#xff09; 环境Linux 7.x jdk 1.8 elasticsearch 5.x 环境目录结构(根目录多了两个文件夹)&#xff1a; /resources /** 存放下载的文件 **/ /u01/app /** 安装elasticsearch的目录. **/ 在linux的终端执行指令&#xff1a; …...