算法
沐沐晓禾
这个作者很懒,什么都没留下…
展开
-
判断浮点数是否相等的常用方法(C++)
一般情况下判断是否相等用 == ,但10.0000001和10.0在偏差允许的范围内是可以认为是相等的,如果用 == 判断计算机是认为不相等的。按照IEEE754的标准,精度浮点数有效位最多小数点后7位,而双精度则是最多小数点后15位。所以判断浮点数是否相等的常用方法是:取两数差值的绝对值判断其是否在某一范围内如: if (abs(x-y)<1e-10) //x-y差值在1...原创 2020-02-13 18:20:44 · 3275 阅读 · 0 评论 -
内联函数 和constexpr函数(C++)
内联函数声明用inline关键字有些函数太简单了,为了免除转子函数再返回的开销编译时在调用处用函数体进行替换,节省了参数传递、控制转移等开销注意:内联函数体内不能有循环语句和switch语包 内联函数的定义必须出现在内联函数第一次被调用之前 对内联函数不能进行异常接口声明constexpr函数constexpr 修饰的函数在其所有参数都是constexpr时一定返回const...原创 2020-02-12 16:45:29 · 207 阅读 · 0 评论 -
参数传递与引用(C++)
形参与实参的传递:在函数被调用时才分配形参的存储单元 实参可以是常量、变量或表达式 实参类型必须与形参相符 值传递是传递参数值,即单向传递 引用传递可以实现双向传递 常引用作参数可以保障实参数据的安全引用类型:引用(&)是标识符的别名定义一个引用时,必须同时对它进行初始化,使它指向一个已存在的对象例如:int i,j;int &ri= i; //定义i...原创 2020-02-12 16:23:08 · 929 阅读 · 0 评论 -
汉诺塔问题(C++)
模拟盘子移动过程,以三个盘子为例第一次:最小盘到C中间盘到到B最小盘到B最大盘到C最小盘到A中盘到c小盘到c实现这个算法可以简单分为三个步骤:(1) 把n-1个盘子由A 移到 B;(C为过渡盘)(2) 把第n个盘子由 A移到 C;(3) 把n-1个盘子由B 移到 C;(A为过渡盘)到目前为...原创 2020-02-12 13:39:30 · 8354 阅读 · 1 评论 -
函数递归调用(C++)
递归调用:函数直接或间接地调用自身代码:#include "stdafx.h"#include <iostream>using namespace std;int digui(int x);int _tmain(int argc, _TCHAR* argv[]){ int n; cout<<"please input a num...原创 2020-02-11 17:02:17 · 418 阅读 · 0 评论 -
投骰子游戏(C++)
每个骰子有六面,点数分别为1、2、3、4、5、6游戏者在程序开始时输入一个无符号整数,作为产生随机数的种子每轮投两次骰子,第一轮如果和数为7或11则为胜,游戏结束;和数为2、3或12则为负,游戏结束;和数为其它值则将此值作为自己的点数,继续第二轮、第三轮...直到某轮的和数等于点数则取胜,若在此前出现和数为7则为负srand()函数原型: void srand(unsi...原创 2020-02-11 15:54:19 · 3118 阅读 · 0 评论 -
找出11-999间的回文数m,m方,m三次方均为回文
判断是否为回文:将数反序,反序后的书与原来的数一样即是回文#include "stdafx.h"#include<iostream>using namespace std;bool symm(unsigned n);int _tmain(int argc, _TCHAR* argv[]){ for(unsigned m=11;m<=999;m++) ...原创 2020-02-09 17:16:50 · 1323 阅读 · 0 评论 -
二进制转十进制(C++)
输入八位二进制数据转成十进制思想:逐位读入输入的八位二进制,判断该位是否为‘1’,若为1,则该位值为2的 i 次方(该位为第 i 位),每位对应值累加结果为所求十进制输入11011010,读入第一个数据为1,第七位(从右往左,0到7),对应值为2的7次方即128第二个数据为1,第六位,对应值为64......代码:#include "stdafx.h"#include <...原创 2020-02-09 15:47:36 · 3799 阅读 · 0 评论 -
枚举类型(C++)
枚举类型定义方式:将全部可取值一一列举出来语法形式:enum 枚举类型名 {变量值列表} enum Weekday {sun,mon,tue,wed,thu,fri,sat}两种枚举类型:1、不限定作用域枚举类型:enum 枚举类型名 {变量值列表}枚举元素是常量,不能对它们赋值 枚举元素有默认值,依次为0,1,2,..........原创 2020-02-08 22:47:43 · 203 阅读 · 0 评论 -
倒序输出键盘输入的数字
输入一个数,倒序输出该数,如输入458,输出854思想:让该数不断的除以10取余,输出余数如458除以10,余数为8,再取整为45;45除以10,余数为5,再取整为4;4除以10余数为4依次输出余数即为倒叙结果:...原创 2020-02-08 20:02:32 · 1300 阅读 · 0 评论 -
#错误警集#01无符号数错误
!!!无符号整数不能表示负数不积跬步 无以至千里坚持 加油!输出结果原创 2020-02-08 16:24:00 · 119 阅读 · 0 评论