- 博客(25)
- 收藏
- 关注
原创 记录——大数阶乘
int n;//n阶乘 cin >> n; int temp , i = 0, j = 0, seat = 1; int a[10000];a[0] = 1; for (i = 2;i <= n;i++) { int num = 0; for (j = 0;j < seat;j++) { temp = a[j] * i + num;//每一位数乘以i的值 a[j] = temp % 10;//数组储存每一位数 num = temp / 10;.
2021-09-29 21:48:45
148
1
原创 交换两数的值(利用位运算)
int x;int y;cin>>x>>y;x = x ^ y; //现在x的值为x ^ y;y = x ^ y; //x经上面的运算变成x ^ y,所以y = x ^ y ^ y = x;x = x ^ y; //y经上面的运算变成 x,因此x = x ^ y ^ x = y; //到此互换完成
2021-09-16 13:39:06
204
原创 c++运算符重载
**运算符参数个数:(1)运算符重载为全局函数时,参数的个数等于运算符(操作数)的目数(2)运算符重载为成员函数时,参数的个数等于运算符的目数减一。【操作:即运算符】【操作数:操作符相邻的变量或常量】例如:a+b中,a、b就是操作数,+就是操作符重载方式:1.以类的成员函数形式重载2.以全局变量方式重载(将其声明为类的友元函数)重载类型及举例:1.数学运算符(1)四则运算符(+、-、、/、+=、-=、=、/=)(2)关系运算符(>、<、<=、>=、==、!=
2021-06-26 21:07:01
592
原创 随机访问文件
• 随机访问文件指从指定的位置读/写文件,相对于顺序访问文件而言,增加了文件指针定位处理。**• 文件指针参照位置有3种情况:– ios::beg:文件开始处,换算的位置值为0 – ios::cur:文件当前位置– ios::end:文件末尾处,换算的位置值为文件长度**• 移动读写指针的方法有两种,一是像上面直接将指针移到指定的位置,二是在某个参照位置的基础上,将指针移动一定的偏移量。int ps1=fin.tellg(); //取fin读指针的偏移量int ps2=fout.tellp(
2021-06-05 11:00:33
1007
1
原创 二进制文件的读写
具体的文件打开,读写和关闭方式在上一篇文章文本文件的打开,读写和关闭中有介绍,在这里就不赘述了。在二进制文件的读写中,需要注意的是:• 不要用 >> 读二进制文件• 打开方式必须加上 ios::binary• 使用 get、put、read、write 读写文件• 慎用 eof()函数检测文件是否读结束,建议使用peek() != EOF 判断。这里有个小例子:从二进制文件中读写资料#include<iostream>#include<fstream>
2021-06-05 10:32:34
1051
原创 文本文件的打开,读写与关闭
头文件:#include<fstream>1.打开文件:访问前要先定义成一个文件流类的对象ifstream fin;或者ofstream fout或者fstream ff并用该对象打开它ff.open("D://test.txt",ios::in||ios::out||ios::binary);fin.open("D://test.txt")//ifstream和fstream不会新建空文件,只能打开已有文件fout.open("D://test.txt")//ofstream打开
2021-06-05 10:02:44
994
2
原创 结构体排序
struct Student { int s;};bool cmp1(Student x, Student y) { return x.s > y.s; //定义降序排序(从大到小) }bool cmp2(Student x, Student y) { return x.s < y.s; //定义升序排序(从小到大) }int main(){ Student s[50]; //为方便,输入学生数据这一步忽略 sort(s, s + 50, cmp1); //排序
2021-05-12 08:33:58
97
原创 判断四个点是否在同一个平面上
算出从同一个点出发的三个向量,如果这三个向量的x,y,z值所构成的行列式结果为零,则这四个点在同一平面上,否则不同一平面如A,B,C,D四点三个向量AB(x2-x1,y2-y1,z2-z1),AC(x3-x1,y3-y1,z3-z1),AD(x4-x1,y4-y1,z4-z1)(是向量,BA,AB是不同向量)V=|[AB AC AD]|(混合积)V= |x2-x1 y2-y1 z2-z1||x3-x1 y3-y1 z3-z1||x4-x1 y4-y1 z4-z1|如果V=0,则四点共面如
2021-05-11 16:17:01
4686
原创 2的整数次幂
#特征:2的整数次幂转化成二进制时,只有最高位是1,其他位都是0#判断方法:2的整数次幂用原数值和它自身减1的结果进行按位与运算,即**(m & (m - 1)) == 0**,结果一定为0!由此可以实现快速判断一个数是否为2的整数次幂数。#求一个数最近的比它大的2的整数次幂数:将该数最高位向右的位全部设置为1,再用变化后的数字+1即可得到最近的比它大的2的整数次幂数具体代码实现: 如果该数不为2的整数次幂数 m |= m >> 1; m |= m >
2021-04-29 00:10:17
1789
原创 慢速乘模板
//慢速乘模板 ll a, b; cin >> a >> b; ll r=0; while (b) { if (b & 1) { r += a;//将分离出来的记录 } a <<= 1;//乘二运算 b >>= 1; } cout << r << endl;}
2021-04-17 10:56:19
142
原创 快速幂模板
//快速幂算法模板 ll a, b;//a为底数,b为幂 cin >> a >> b; //假设目标:求a的b次方对100000007取模的结果 ll mod = 100000007;ll r = 1;//r表示result(结果) while (b) { if (b & 1) { r = (r*a) % mod;//记录当指数为奇数时分离出来的底数一次方 } b >>= 1;//右移一位,将指数分为两半 a = (a*a).
2021-04-17 10:06:18
72
原创 set判断特定元素是否存在
int main(){ set<int>oo; for (int i = 0;i < 8;i++) { oo.insert(i); } //目标:判断特定元素是否存在 //方法一: set<int>::iterator it; if ((it = oo.find(2)) != oo.end()) { cout << *it << endl; } //方法二: for (int i = 0;i < 8;i++) {
2021-04-15 22:10:13
8306
1
原创 vector--insert用法
```int main(){ vector<int>oo; for (int i = 0;i < 8;i++)//放入元素 { oo.push_back(i); } oo.erase(oo.begin() + 1, oo.begin() + 3);//删除位置1和位置2两个元素 for (int i = 0;i < oo.size();i++) { cout << oo[i] << " "; }...
2021-04-15 21:46:47
128
原创 vector--erase用法
int main(){ vector<int>oo; for (int i = 0;i < 8;i++)//放入元素 { oo.push_back(i); } vector<int>::iterator it; for (it = oo.begin();it != oo.end();++it) { if (*it % 2 == 0) { it = oo.erase(it);//erase用于删除容器中元素,其返回值为删除元素的下一个位置 }
2021-04-15 21:18:54
372
原创 迭代器遍历vector容器
int main(){ vector<int>oo; for (int i = 0;i < 8;i++)//放入元素 { oo.push_back(i); } vector<int>::iterator i;//正向迭代器 for (i = oo.begin();i != oo.end();++i)//遍历容器 { cout << *i << " ";//*迭代器名就表示迭代器指向的元素 } cout << end
2021-04-15 21:04:31
1108
原创 将链表最后一个节点移动到第一个节点位置
if (head->next != NULL) { Node* q = head->next; Node* p = head;//设置一个跟随节点 while (q->next != NULL) { q = q->next;//找到最后一个节点 p = p->next; } Node* first = new Node(q->id, q->score);//找一个新节点记录最后一个节点数据 p->..
2021-04-15 16:40:34
794
原创 链表--边插入边排序
void insertNew_Node(int new_id,int new_score)//相当于一边排序一边插入 { Node* newNode = new Node(new_id, new_score); bool judge = true;//用于判断新节点是否已经插入 if (head->next != nullptr) { Node* q = head->next; Node* pq = head; while (newNode->id &.
2021-03-28 15:05:27
642
原创 链表从头部增加新节点
链表从头部增加新节点的代码 void insert(int n) { Node* p = head;//建立新结点位于头节点,起定位作用 Node* newNode = new Node(n); newNode->next = p->next;//将新结点指向头节点所指向的地方 p->next = newNode;//头结点指向新节点 }...
2021-03-26 09:33:24
758
原创 链表从尾部增加新节点
```cpp链表从尾部增加新节点代码:1. void insert(int data) { Node* p = head; while (p->next!= nullptr) { p = p->next; } p->next = new Node(data);//p最后一个节点 }2. void insert(int n) { Node* p = head; Node* newNode = new Node(n); if (p ==.
2021-03-26 09:14:19
2399
原创 找出三个数中最小的数
int a, b, c;cin >> a >> b >> c;int min = (a < b) ? (a < c ? a : c) : (b < c ? b : c);
2021-01-30 19:57:17
766
原创 找出m个数中第二大的数
#include <iostream.>using namespace std;int main(){int n;cin >> n;for (int i = 0; i < n; i++){int m;cin >> m;int* a = new int[m];for (int j = 0; j < m; j++){cin >> a[j];}int max1 = a[0];int max2;for (int j = 1
2021-01-02 12:56:34
99
原创 输入m个正整数,然后把这m个正整数分别从低位往高位看,又形成了m个正整数(保证不会超出int范围),把这2m个正整数取出两个相除,希望得到的商最大,这个商是多少?(内存限制: 4096 KB)
#include<iostream,>#include<cmath.>#include<string.>#include<math.h.>using namespace std;int f(int a) //调用函数判断整数位数{int x=0;for (;;){if (a / 10 < 1){x++;break;}a = a / 10;x++;}return x;}int main(){int n;ci
2020-12-25 20:05:15
125
原创 定义一个3行4列的数组a
#include <iostream.>using namespace std;int main(){int**a = new int*[3];//申请空间for (int i = 0;i < 3;i++){a[i] = new int[4];}for (int i = 0;i < 3;i++){for (int j = 0;j < 4;j++){cin >> a[i][j];}}for (int i = 0;i < 3;i++
2020-12-13 16:56:29
5054
原创 已知整数a、b、c的值,对于方程ax+b=c,如果不存在整数解,则输出None;如果存在不止一个整数解,则输出其中最小的正整数解;如果存在唯一的整数解,则输出该解。
这里写自定义目欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导入导出导入List item#include <iostream> #include <cmath> using
2020-11-29 20:58:54
325
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人