简单认识:我们在浮点数中,采用IEEE 754标准,使每一个数都采用的方式来表示。其中为符号位,S只能为 0 或 1 ,0表示这个数为正数,1表示负数。M为有效数字位,也就是真实数经过小数点浮动后的数字,M的范围是1的闭区间至2的开区间,也就是1 ≤ M < 2。E是指数位,表示的是小数点浮动的距离,如0b1110.1 = 1.1101 * 2^3,其中E为3。举个例子:flaot a =
本项目深入探讨了一个完整的机房预约系统设计与实现,涵盖管理员、老师和学生三类用户的多功能需求。通过类继承、STL库、文件操作等技术,不仅实现了系统的基本功能,更注重代码的结构和可维护性。跟着本文,来了解如何通过C++构建高效、易用的机房预约系统,提升你的编程技能。
摘要:C++ STL实战项目——开发演讲比赛管理系统。程序使用标准模板库(STL)实现选手管理与评分功能。12名选手经过两轮比赛,评委通过动态数组和优先队列快速评分,实时更新晋级信息。功能包括启动比赛、查看历史记录与清空记录,代码简洁高效,让你在实践中掌握C++编程技巧!
我的第一个C++千行项目——职工管理系统,宣布完结! 项目介绍:这是一个面向C++学习者的一个小项目,很适合已经学习完C++核心编程的朋友来练手,它可以帮助你把之前学习的技能融会贯通。它的主要功能为:增加职工信息显示职工信息删除离职职工修改职工信息查找职工信息按照编号排序清空所有文档了解了需求之后,用你的方式去实现它吧!快乐尽在coding中。 以下是我的实现:头文件boss.h#pragma once
题目给定两个大小分别为 m 和 n 的正序(从小到大)数组 nums1 和 nums2,找出并返回这两个正序数组的 。中位数解题思路这道题我们如果使用C语言,很自然的就会想道口利用内存管理和指针来解题,分步骤如下:开辟动态内存往开辟的内存中有序存放2个数组的元素元素是偶数个 -> 取动态内存中间2个数
摘要:在搭建JSP开发环境时,遇到无法打开startup.bat的情况,很可能是由于环境变量未设置。本文提供了解决方案,指导如何检查和配置JAVA_HOME与JRE_HOME,并验证Tomcat是否正常启动,以确保顺利进行JSP开发。今天搭建JSP开发环境的时候,在配置tomcat的时候出现了这样一个错误:Neither the JAVA_HOME nor the JRE_HOME environ
摘要:本文以220和284的奇妙邂逅为引,探索了亲和数的神秘世界,并用C语言编织了一个寻找数字间“友谊”的程序。定义亲和数,指两个正整数中,彼此的全部约数之和(本身除外)与另一方相等比如220的所有因子之和(去除自身),为284284的所有因子和(去除自身),刚好也为220这样,我们就把它们两个称为一对亲和数 程序设计思路设循环数为i提取i的所有因数(除去自身),并将其求和,得到iSum提取iSu
摘要:当程序员遇上π,蒙特卡洛算法成了他们的魔法棒。本文用一段C语言代码,将随机点的雨滴洒向数字的海洋,用概率的网捕捉π的踪迹。这不仅是一场算法的探险,更是对编程魔法的一次奇妙展示。认识蒙特卡洛算法蒙特卡洛算法是一类基于概率的算法的统称,不是特指某一种算法。它也被称为统计模拟方法,是指使用随机数来解决很多计算问题的方法。它的工作原理为两件事:不断抽样逐渐逼近使用蒙特卡洛算法今天我们来用它来逼近&n
数字的魔法:给我任意一个四位数,通过排列和减法,最终总能得到6174——卡布列克常数。本文用代码演示了这一神奇过程,带你领略数学的奇妙和编程的乐趣。卡布列克常数(Kablek constant):任意一个不是由完全相同数字组成的四位数,如果对它们的每位数字重新排序,组成一个较大的数和一个较小的数,然后用较大数减去较小数,差不够四位数时补零,类推下去,最后将变成一个固定的数:6174,这就是卡布列克
首先,我们要查看自己当前ubuntu的版本:在Linux系统中按Ctrl+Alt+T,调出终端然后再终端中输入lsb_release -a查询自己当前的版本号,如图备份文件:在命令行中继续输入以下指令,然后按要求输入用户密码sudo cp /etc/apt/sources.list /etc/apt/sources.list.back接着我们输入以下指令,来安装vim编辑器。后面会用到它sudo
今天我们来做一个Java中的方法的小练习:建立一个方法,去实现加法运算。代码实现import java.util.Scanner; public class method01 { public static void main(String[] args) { Scanner sc = new Scanner(System.in); double inputNumber1 = 0.0;
题目:给你一个非负整数 x ,计算并返回 x 的算术平方根 。由于返回类型是整数,结果只保留整数部分 ,小数部分将被舍去 。注意:不允许使用任何内置指数函数和算符,例如 pow(x, 0.5) 或者 x ** 0.5 。示例 1:输入:x = 4 输出:2示例 2:输入:x = 8 输出:2 解释:
题目:给定两个整数,被除数和除数(都是正数,且不超过int的范围)要求不使用乘法、除法 和 % 运算符,得到商和余数。题目分析我们知道,除法的本质其实就是被除数对除数不断地进行减法运算。所以,我们只需要循环这个运算,同时记录循环了多少次,就可以得到商。而最终若不够减,那么此时的被除数即是余数。代码实现import java.util.Scanner; public class FindQuoti
题目描述:给你一个整数 x ,如果 x 是一个回文整数,返回 true ;否则,返回 false 。回文数:是指正序(从左向右)和倒序(从右向左)读都是一样的整数。例如,121 是回文数,而 123 不是。题目分析我们做这道题很容易可以想到:我们新建一个变量,这个变量里存放着一个颠倒的x然
摘要:文章介绍了编程基础:变量可变,常量不变,字面量是初始赋值。我们在学习编程的时候,经常听到这3个词:常量变量字面量那么它们是什么意思呢?我们写 2 行代码,来帮助我们理解。int a = 666; const int b = 777;变量在第 1 行代码中,a 是变量,666 是字面量。或者我们可以说,变量 a 的初始值是字面量 666。常量在第 2 行代码中,b 是常量,因为它被 const
摘要:本文简述了Java开发环境的搭建,包括JDK的安装、环境变量配置,以及Eclipse IDE的设置。提供了详细的步骤指导,帮助Java初学者快速搭建开发环境并运行第一个项目。我们写C/C++时,直接下载Visual Studio,然后在里面直接写代码就可以了。但是Java不行。这不是Java的缺点,而是它的优点——它拥有与平台无关的特点。这也是Java最初风靡全球的最重要原因。为什么与平台无
摘要:探索编程世界中的生命循环:构造函数如同新生,析构函数则如告别。我们一起通过一个生动的比喻与C++示例,展示对象诞生与消亡的隐形调用,提高你对 C++ 中类与对象的理解。理解构造函数与析构函数的意义我们生活中的很多东西对有开机设置和格式化功能。比如我们新买了一个iPhone16,那么在第一次使用时,我们则需要对其进行开机设置。比如选择我们的国家与地区、设置手机的语言、登录我们的Apple ID
这篇文章,我们将通过做一个案例,来增强我们对C++中的类、对象、类中的封装有更深刻地认识。题目判断圆与点的关系题目分析首先,我们先读懂题目。圆与点有几种关系?一共就3种:点在圆上点在圆内点在圆外其次,我们来想想怎么用代码来解决它。我们很容易地可以想到:利用 两点间距离公式 求出点与圆心的距离,然后用这个距离与半径做比较。此时就会出现3种情况,同时也对于着圆与点的三种关系:距离 > 半径 --
我们几乎所有的 C++ 程序都有这样一个框架:#include <iostearm> using namespace std; int main() { //这里写你的代码 //... //... return 0; }那么这个框架中的各行代码都是什么意思呢?我们来一行一行的分析。第一行:#include <iostearm>首先上面这行代码的意思是包
free store 和 heap 总是让我们这些先学习 C,再学 C++ 的人感到混淆。我们知道,C++的内存布局是这样的:那free store(自由存储区)在哪里呢?——在这里:我们可以把 free store 理解成 heap 的一个子集。因为我们 new 出来的空间总是在 heap 上,而且,如果我们深入地去了解,我们会发现 new 申请空间的实现方式,其实是调用了 malloc,所以我
我们今天来学习C++中的 new 与 delete。它们2个是C++中的关键字,作用是在free store(C语言中的堆区)中申请空间来存放数据。存在的意义为什么我们要在free store中去存放数据呢?——因为free store中的生命周期是由我们程序员所控制的。在某些时刻,我们只需要暂时性地使用一些数据。在这种情况下,如果我们把这些数据放在堆free store中,那么我们就可以在这些数
这是一个在聚会和酒桌上常玩的一个小游戏。游戏规则所有人围着桌子一个大圈,从“1”开始喊,遇到7、7的倍数或是带7的数字,就敲一下桌子(酒桌上用筷子敲下杯子),以此类推。一旦有人做错了就要接受惩罚。实现思路我们建立一个for循环,让变量在其中不断递增。在循环体内部,我们对变量进行判断,若变量上 有7 or 是7的倍数,则敲桌子。代码实现//测试范围:1 ~ 100 #include <ios
本篇博客用来记录我准备专升本的一些事,希望可以帮助其他正在备考或者同样是零基础学习者一些参考。2024年1月14日,我在51CTO写下了我的第二条博客:关于我的一些事 ,其中说到,我打算花100天的时间去准备专升本考试的专业课(C语言)。现在我终于实现了我的诺言,成功取得了C语言得高分,并考上了我心怡的学校。这段时间,我从C语言零基础,到可以做考研的简单题目,大概花了40天,总的学习时长为261小
题目描述:给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。示例:分析:这道题是链表中比较经典的一道题。有很多种方式来解题,我们这里选择的是比较巧妙的递归解法。反转单链表,并不用对链表中的数据进行逆序排序。而可以直接将链表中各个结点的链接方式进行更改。简单来说,就是将后驱指针改为前驱指针。我们的递归设计思路为:往下递推,直至尾结点开始回归,将原next结点的ne
题目:一个数如果恰好等于它的因子之和,这个数就称为"完数”。例如,6的因子为1,2,3,而6 = 1+2+3.因此6是“完数”。编程序找出100之内的所有完数,并按下面格式输出其因子:6 its factors are 1, 2, 3分析:这道题的难点在于如何计算一个数的因子和。我们将它拆分为 --> 如何找到一个数的因子找一个数的因子就比较简单了,只要拿比这个数小的数去尝试除它,若可以整除
题目:编写程序,将字符串中的第m个字符开始的全部字符复制成另一个字符串。要求在主函数中输入字符串及m的值并输出复制结果,在被调用函数中完成复制。分析:这题比较简单,没有分析的空间,直接上代码。代码实现:#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <assert.h> #include <
题目:编写程序,将字符串computer赋给一个字符数组,然后从第一个字母开始间隔地输出该串,请用指针完成。分析:让指向computer的指针设置为char* 类型,然后每次+2来输出即可。代码实现:#include <stdio.h> int main() { char s[] = "computer"; char* p = NULL; //输出原字符串,用来与下面的输出对
[真题] (华东师范大学):输入一行字符,然后按逆序输出。分析:这道题我们有2种算法递归循环递归的算法是先递推到字符串末尾,然后从末尾开始输出字符。循环的算法是用strlen求出字符串的长度,然后从右往左输出字符。我们用递归来解题。代码实现:#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h> #include <assert
[真题] (北京理工大学) :编写一函数能够统计出一个字符串中字母、数字、空格和其他字符的个数,要求在主函数中输入字符串并输出统计结果。分析:本题必须用gets,不能用scanf语句对字符串赋值。因为用scanf语句输入时,遇到空格即停止录入。而gets遇到换行符才停下。代码实现:#define _CRT_SECURE_NO_WARNINGS 1 #include <stdio.h>
题目:一个盒子中放有12个球,其中3个红的,3和白的,6个黑的,从中任取8个球,求共有多少种不同颜色搭配,分别输出。分析:写2层嵌套的循环,把每一种搭配都循环一遍。然后在循环内部做判断,符合数量要求的即可。代码实现:#include <stdio.h> #define RED 3 #define WHITE 3 #define BLACK 6 #define MAX 8 int ma
Copyright © 2005-2024 51CTO.COM 版权所有 京ICP证060544号