自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(40)
  • 收藏
  • 关注

原创 09哪来的输出【析构】+11Big&Base封闭类【封闭类构造函数添加初始化列表】+12指针哪来的【const】

析构函数:#include <iostream>using namespace std;class A { public: int i; A(int x) { i = x; }// 在此处补充你的代码 ~A() { cout<<i<<endl; }};int main(){ A a(1); A * pa = new A(2); delete pa; return 0;

2022-04-06 17:31:34 101

原创 08超简单的复数类【对对象赋值】

总结:为什么可以直接对对象赋值? -->赋值运算符重载!! 用拷贝构造函数也可以题目+答案:#include <iostream>#include <cstring>#include <cstdlib>using namespace std;class Complex {private: double r,i;public: void Print() { cout << r << "+" &l

2022-04-05 21:35:20 151

原创 07返回什么才好呢 【对成员函数赋值+返回类的引用】

#include using namespace std;class A {public:int val;A(int n) //构造函数{ val=n;}A() //缺省构造函数{ val=123; //否则会默认val=0}A& GetObj() //这里写int&是不行的{ return *this; //this是地址值,*是取内容}};int main(){int

2022-04-05 21:06:59 122

原创 06奇怪的类复制【三种构造函数+拷贝构造函数与运算符重载的区别】

在我反复试验后,得出以下结论:这两个的区别就在于:一.赋值运算符重载含义:将对象赋给一个已有对象。注意:一定要是已有对象。也就是说,要这样写才会调用赋值运算符重载: Sample b; b=a;二.拷贝构造函数含义:创建一个新对象。注意:一定要是新对象。也就是说,要这样写,会调用拷贝构造函数:Sample b=a; 当然,还有在参数是对象、函数返回类型是对象的情况下也会调用。结果图:可以对比课堂笔记(Typora)看。题目+答案:#include using namespace std

2022-04-05 20:43:47 166

原创 05学生信息处理程序【输入问题】

注意:【输入问题】cin遇到空格、回车会结束。难点:输入的一行信息,会全被当作字符串。如何用逗号隔开。知识点:cin>>a; 敲下空格后再用cin.get()吸收缓冲区的回车,然后就可以用cin.getlinecin.getline()用法:cin.getlin(a,20,‘,’);可以用一个ch把逗号吃掉【成员函数】成员函数可以修改成员变量。由于题目要求成员变量是private,所以我直接在类内,用成员函数修改。题目+答案:#include #include #in

2022-04-05 13:20:06 131

原创 04神秘的数组初始化【指针数组】

题目:#include using namespace std;int main(){int * a[] = {<???>};*a[2] = 123;a[3][5] = 456;if(! a[0] ) { cout << * a[2] << "," << a[3][5];}return 0;}答案:NULL,NULL,new int,new int(6)① int *a[] 是一个指针数组,每一个数组元素指向一个地址,用ne

2022-04-05 11:57:46 159

原创 03好怪异的返回值【引用类型作为函数返回值】

题目:#include using namespace std;<?> getElement(int * a, int i){return a[i];}int main(){int a[] = {1,2,3};getElement(a,1) = 10;cout << a[1] ;return 0;}答案:int&通过函数返回引用这种机制,可以对函数进行赋值,将函数放在赋值语句的左边。不加&会报错,不能用getElement(a,1)=1

2022-04-05 11:46:58 161

原创 002:难一点的swap 【指针与引用】

程序设计与算法(三)C++面向对象程序设计 慕课,刷题网址:http://cxsjsxmooc.openjudge.cn/2022t3spring/002/submit/void swap(A& a,A& b)题目:#include using namespace std;void swap(// 在此处补充你的代码){int * tmp = a;a = b;b = tmp;}int main(){int a = 3,b = 5;int * pa = &amp

2022-04-05 11:29:59 1029

原创 《算法笔记》2.5小结——数组

一.知识点梳理14.如果数组大小较大(大概10^6级别)则需要将其定义在主函数外面,否则会使程序异常退出,原因是函数内部申请的局部变量来自系统栈,允许申请的空间较小。而函数外部申请的全局变量来自静态存储区,允许申请的空间较大。memset——对数组的每一个元素赋相同的值,需在程序开头添加string.h头文件。只建议赋0或-1,这是因为memset使用的是按字节赋值,即对每个字节赋同样值。int是4个字节,0的二进制补码全0,-1的二进制补码全1,不容易弄错。如果要对数组赋其他值,用fill(但m

2022-04-02 10:55:42 61

原创 1074 Reversing Linked List (25 分)

#include <stdio.h>#define maxn 100001int total_number,length;struct Node{int address,data,next;}node[maxn];void Reverse(Node node[],int initial_position,int flag){//if(t0) return; //递归终止条件if(flag!=length) //每四个转一次{Reverse(node,node[init

2021-05-29 17:00:26 59

原创 1003 Emergency (25 分) Dijkstra算法

#include <stdio.h>#include using namespace std;const int INF=1000;const int MAX =100;int number_city,number_road,first_city,last_city,rescue_sum[MAX]={0};typedef struct Graph{int rescue_people[MAX];int weight[MAX][MAX]; //要初始化为0}Graph;i

2021-05-04 20:29:44 74

原创 问题 A: 算法9-9~9-12:平衡二叉树的基本操作

http://codeup.hustoj.com/problem.php?cid=100000614&pid=0//19:04#include <stdio.h>#include using namespace std;//首先要通过“插入”操作(递归 )建立一个二叉平衡树,然后通过层序遍历查找。/*创建Create函数:通过insertnode,插入一个数组data插入节点函数insertnode:二叉查找树的顺序插入。插入后判断平衡因子是否失衡getBalanceFa

2021-04-26 21:05:34 179

原创 1020 Tree Traversals (25 分)--已知先序、中序构造二叉树

//9:08-9:47 我做的是先序和中序的,题目要求是后序中序方法就是:首先需要在草图上明确先序后序区间,然后见代码吧一些语法#include <stdio.h>#include using namespace std;int pre[30]={0},in[30]={0};int n;struct node //C++的结构体这么写就可以了{int data;node *lchild,rchild;};node create(int preL,int preR,i

2021-04-22 09:54:58 86

原创 1045 快速排序 (25 分) 找主元->活用递推(左右关系),暴力求解超时。

这道题毋庸置疑,我的第一个做法就是暴力求解,一个循环里面套两个循环,结果超时://#include <stdio.h>#include <vector>using namespace std;int main(){ int N,left=0,right=0,flag=0; vector<int> result; vector<int> v1; //能直接将所有元素初始化为0 scanf("%d",&N);

2021-04-17 20:20:25 239

原创 PATA1059 Prime Factors (25 分) 质因子分解(质因子结构体的一些问题)+测试点3:1=1的特判输出+筛法打素数表的进一步应用

写代码中遇到的问题:①prime[max]需要作为参数传入素数表函数,要改变它的值。C语言如何数组传参?:void myFunction(int param[]) 或者void myFunction(int param[10])main 函数里面要引用的时候直接写:void myFunction(param) 就好了。②数据结构的写法:这么写:typedef struct Fac {} Fact[max];再在main函数里面引用的时候要写:Fact fac; 然后用-> (就记这个吧

2021-04-17 10:47:22 212

原创 PAT B1013数素数——“筛法”打素数表,注意max的范围到10^6

//8:09 “筛法"素数表 8:23题看错了重打: 8:40-9:04/这道题主要在于测试点4: 要将max改到10^6 我尝试都改成long出现段错误(int 10^9)格式问题有更简洁的代码形式:if(count%10!=0&&i<n) printf(" “); else printf(”\n");判断素数可以从2到sqrt(1.0n)即可,但此处是筛法不需要判断素数!!!这里有点花费时间*/#include <stdio.h>#define max 10

2021-04-17 09:11:20 129

原创 3.18队列

不要教条化数据结构,根据实际需要可以增加struct里面的东西。只是一种工具一.队列的顺序存储:本书采用,rear指向下一个应该要插入的地方(初始状态如此理解:下一个要插入的就是第一个元素,所以front=rear)(队尾进行插入,队首进行删除,联想排队即知)循环队列:①如何初始化Q.front=Q.rear=0判断栈空:Q.front=Q.rear②如何入队、出队。由于rear指向下一个要插入的地方,所以应该先给值,再指针移动Q.rear=(Q.rear+1)%MaxSize;③

2021-03-18 20:57:24 60

原创 考研高数每日打卡

张宇视频 第一讲高等数学预备知识01

2021-03-17 23:01:57 133

原创 3.17栈

我觉得key的是,通过物理结构的图,去写出结构体。栈是线性结构(一对一),物理存储可以用顺序栈和链栈两种方式。一. 顺序栈:有点类似静态链表“游标”的说法。但栈是只允许在一端插入删除。注意:删除操作,只是逻辑结构上的删除,数据实际还在内存里(因为是用移动top的方式来删除元素,其余看书即可)然后注意,top指针是从栈尾开始向栈顶走的。还要记一个公式二.共享栈由于顺序栈是通过静态数组的方式存储,内存大小是固定的,为了改变这个缺点,有两种方式:共享栈和链栈。共享栈是两个栈从两边往中间增长。

2021-03-17 22:07:59 79

原创 3.16/17链表

一.单链表建表:建表的时候要记得给链表L分配一个新的空间,并让头指针指向NULLL = (LinkList)malloc(sizeof(LinkList));L->next = NULL;#include <cstdio>#include <cstdlib>typedef struct LNode{ int data; LNode* next;}LNode,*LinkList; //定义结构体和结构体指针//①头插法建立单链表LinkList

2021-03-16 22:46:41 89

原创 3.16鹏哥C语言动态内存管理

动态分配内存1的两个视频:很多编译器是不支持这样创建变长数组的:(gcc支持C99标准的 gcc test.c -std=c99)#include<string.h> //sterror#include<errno.h> //errno#include<stdio.h>#include <stdlib.h> //mallocint* p=(int*)malloc(10*sizeof(int));//malloc不是想分配多少就是多少的

2021-03-16 16:03:37 68

原创 3-16鹏哥C语言结构体

int short char内置类型——C语言自己的数据类型复杂对象 人、书复杂类型 自定义类型:结构体、枚举、联合体①结构的声明

2021-03-16 10:14:11 106

原创 计算机网络-第二章计算

我觉得需要注意的是:①奈氏准则没有噪音,香农定理有噪音。②香农定理里面要注意,“信噪比”这个概念,度量单位不同,要用不同公式转换。③奈氏准则要注意,求的是码元传输速率,还是数据传输率。④注意两种叫法:“信息传输率” “实际的最大限制的信息传输速率”...

2021-03-15 23:31:05 45

原创 3.15鹏哥C语言-指针

3.15 初始指针(1)的两个片段视频指针:1.指针的定义:存放地址的变量。①int在32/64都是4Byte,这个是规定的。②在32位平台里,有32位地址线,意味着地址有32位,4个字节,所以指针变量应该有四字节大,且是所有的指针变量都是这么大!无论是char* int*。同理64位平台,指针就有8个字节大了。2.如何理解内存?一个内存单元一定是一个字节,8bit。每根地址线产生正电/负电信号,所以多少根地址线,就可以寻址2的多少次放个地址,也就是B。3,指针类型的意义?①char的指针解

2021-03-15 23:30:24 161

原创 3.15线性表的顺序表示

一.细节:①C++用& C用*②typedef struct{} SqList; 的格式,所以我的理解是:typedef给struct数据类型起一个别名叫做SqList。typedef:typedef给复杂的数据类型起一个别名,里如 typedef long long LL; 就可以用LL代替long long, 避免因在程序中出现大量的long long 而降低编码效率③ElemType:因为数据结构是讨论抽象的数据存储和算法的,一种结构中元素的类型不一定是整型、字符型、浮点型或者用户自定义

2021-03-15 22:56:33 85

原创 嵌入式系统3-15(gcc)

while(1){wait(30000);GPFDAT=(~(i<<4)); //根据i值轮流点亮124灯if(++i=8) i=0;}//以说左移1位相当于乘以2,那么左移n位就是乘以2的n次方了(有符号数不完全适用,因为左移有可能导致符号变化GCC编译常用选项和介绍(1.预处理(将include插入,展开宏定义 -E。生成 .i 的文件)2.编译(转换成汇编语言, 生成文件 .s)3.汇编(.S生成elf(linux),-e。变为目标代码(机器代码)生成 .o 的文件)

2021-03-15 16:02:55 184

原创 嵌入式系统3.8

2.协议类引脚UARTI^2CSPINAND FLASHNAND Flash地址线和数据线连在一起,需要用程序来控制,才能出数据。(信号复用)所以只给地址不行,要先命令,再给地址。LCD3.类内存接口(与内存类似)3.1NOR、SDRAM、网卡NORnGcs0,对应地址从0x0开始,所以是0段地址Q1.不是32位CPU意味着接32根地址线A1.这和bank有关,查找Memory Controler可知,1bank=128M,可以接27根线,因此32根线中只有27根接地址,剩余的接片

2021-03-13 13:26:10 114

原创 嵌入式系统课堂笔记3.3

1.GPIO:General-purpose input/output通用的输入输出端口。1.1输入/输出引脚:就是GPIO,有对应的控制寄存器来设置这两种功能/上拉电阻/二极管/三极管。如何与上拉电阻、三极管联系?①输出引脚:图片解释:图1,NPN型三极管,小阀门流通、电阻、、图2,PNP型三极管②输入引脚:图片解释:加一个灯判断是否流通。电路图:点亮LED1的0段代码,烧进去就可以(.S汇编):@*********************************************

2021-03-13 10:57:54 162

原创 第二章 线性表——顺序存储:顺序表

一.顺序表(线性表)的定义细节C++用& C用*typedef静态分配#define MaxSize 10 // 定义最大长度typedef struct {int data[MaxSize]; // ElemType = int, * 用静态的“数组”存访数据元素int length; // 顺序表的当前长度} SqList;// 初始化顺序表void InitList(SqList &L) {L.length = 0; // 顺序表初始化为0

2021-01-19 19:35:42 139

原创 1001 A+B Format

1001 A+B Format (20分)Calculate a+b and output the sum in standard format – that is, the digits must be separated into groups of three by commas (unless there are less than four digits).Input Specification:Each input file contains one test case. Each cas

2020-10-09 09:44:13 91

原创 第三章 简单数据处理问题

1.最大公约数(辗转相除法求模):用枚举法需要较长时间,用辗转相除法。eg.求n个整数的最大公约数scanf("%d",&b);for(i=0;i<n-1;i++){scanf("%d",&a);r=a%b;while(r!=0){a=b;b=r;r=a%b;}}printf("%d\n",b);假设a<=b,直到某次求模等于零,最大公约数就算较小的那个数。最小公倍数=a*b/最大公约数2.计算各位数字之和:先取整数m的各位,b=m%10,然后

2020-10-08 20:13:09 100

原创 1012 数字分类 (20分) 测试点错误

不要小瞧这道题,这道题虽然不是那种思路型难题,但是测试点,以及小错我总结我的小错有这些:数组未初始化 scanf("%d")无空格​​​​​这个题目如果总是有个测试点过不去就是因为A2类的交错求和的结果本身就是0,而你把0作为判断这一类数字不存在的条件是错误的!#include <stdio.h>int main(){int N,i=0,t=0;int number[1005]={0};int A=0,B=0,C=0,flag=1,max=0;double D=0,pig=0;

2020-10-07 14:55:23 335

原创 %d与%d之间的空格

记录一个小问题#include <stdio.h>int main(){int N,i=0,t=0;int number[1000];int A=0,B=0,C=0,flag=1,max=0;char s[1000];scanf("%d “,&N);for(i=0;i<=N-1;i++){scanf(”%d",&number[i]);}for(t=0;t<i;t++) printf("%d “,number[t]); printf(”%d "

2020-10-07 14:50:49 4138

原创 1011 A+B 和 C (15分)(输出格式 数据类型范围)

#include <stdio.h>int main(){int T,i;long a,b,c;scanf("%d",&T);for(i=1;i<=T;i++){scanf("%ld %ld %ld",&a,&b,&c);if(a+b>c) printf(“Case #%d: true\n”,i);else printf(“Case #%d: false\n”,i);}return 0;}scanf("%d%d", &amp.

2020-10-05 16:41:36 96

原创 1010 一元多项式求导 (25分)

1010 一元多项式求导 (25分)设计函数求一元多项式的导数。(注:x​n​​ (n为整数)的一阶导数为nx​n−1​​ 。)输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过 1000 的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。注意“零多项式”的指数和系数都是 0,但是表示为 0 0。代码如下:#include <stdio.h>#include <stdl

2020-10-05 16:10:08 99

原创 乙级-素数对猜想

#include <stdio.h>#include <math.h>int main(){long n,i,j,t=0,prime[50001]={0},count=0,flag[100001];for(i=0;i<100001;i++) flag[i]=1;scanf("%ld",&n);//判断素数过程!!!!可以简化,不要超时!!!!for(j=3;j<=n;j++){for(i=2;i<=sqrt(j);i++){if(j.

2020-10-03 16:33:31 61

原创 乙级1006 换个格式输出整数

1006 换个格式输出整数 (15分)让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出 n。输入样例 1:234输出样例 1:BBSSS1234输入样

2020-10-03 15:17:24 72

原创 乙级1004 成绩排名 (20分)

1004 成绩排名 (20分)读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格式:

2020-10-03 08:39:41 54

原创 乙级1003 我要通过! (20分)

1003 我要通过! (20分)“答案正确”是自动判题系统给出的最令人欢喜的回复。本题属于 PAT 的“答案正确”大派送 —— 只要读入的字符串满足下列条件,系统就输出“答案正确”,否则输出“答案错误”。得到“答案正确”的条件是:字符串中必须仅有 P、 A、 T这三种字符,不可以包含其它字符;任意形如 xPATx 的字符串都可以获得“答案正确”,其中 x 或者是空字符串,或者是仅由字母 A 组成的字符串;如果 aPbTc 是正确的,那么 aPbATca 也是正确的,其中 a、 b、 c 均或者是空

2020-09-30 14:57:32 82

原创 basic level

读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。输入格式:每个测试输入包含 1 个测试用例,即给出自然数 n 的值。这里保证 n 小于 10​100​​ 。输出格式:在一行内输出 n 的各位数字之和的每一位,拼音数字间有 1 空格,但一行中最后一个拼音数字后没有空格。输入样例:1234567890987654321123456789输出样例:yi san wu整体思路:①定义char[100],scanf("%s",ch) 获得这串字符串②i从0到末尾,strc

2020-09-30 09:15:33 235

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除