自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 【数据结构】数据结构学习大纲

数据结构概述定义:我们如何把现实中大量而复杂的问题以特定的数据类型和特定的存储结构保存到主存储器(内存)中,以及在此基础上为实现某个功能(比如查找某个元素,删除某个元素,对所有元素进行排序)而执行的相应操作,这个相应的操作也叫算法。数据结构 = 个体 + 个体的关系算法 = 对存储数据的操作算法:解题的方法和步骤衡量算法的标准:时间复杂度大概程序要执行的次数,而非执行的时间空间复杂度算法执行过程中大概所占用的最大内存难易程度健壮性预备知识:1. 指针地址:地址就是内存单

2020-05-28 09:38:39 294

原创 【C++】第9章:(二)构造函数和析构函数

构造函数:是用于创建对象的特殊成员函数,当执行对象定义语句时,系统自动调用构造函数作用:初始化对象:为对象的数据成员赋初值&请求其他资源;构造函数构造函数是类的public成员构造函数名与类名相同构造函数可以重载构造函数可以有任意类型的参数,但没有返回值,函数头部无返回值类型说明对象的定义语句即为构造函数的调用语句系统按照函数重载规则调用构造函数析构函数当一个对象的生命周期结束时,C++会自动调用析构函数析构函数是public成员函数析构函数名为:~类名析构函数没有参数

2020-05-23 15:56:14 208

原创 【C++】第9章:(一)类和对象的定义

从C++定义的数据类型到自定义数据类型类:用户自定义数据类型对象:类的变量文章目录类的定义类的定义_1:访问限定符类的定义_2:成员类的定义_3:成员函数的定义类的封装类的定义数据与数据的处理函数封装在一起 --> 类类的定义包括四要素:类名数据成员 (数据集合的值规范)函数成员访问限定符类的定义_1:访问限定符访问限定符:说明类成员的可访问范围1.三种关键字出现的次数和先后续都没有限制2.若某个成员前面没有上述关键字,则为私有成员class 类名{ pri

2020-05-22 22:30:11 400

原创 【C++】第8章:(三)文件处理-二进制文件

二进制文件打开二进制文件用ios::binary方式;二进制文件的读写方式由程序控制,并用特定的读写函数:fstream infile,outfile;infile.open("inf1.txt",ios::in|ios::binary);outfile.open("outf1.txt",ios::out|ios::binary);二进制文件读写操作输入函数:Infile.read(char *,int); //char *数据进入的内存地址,int一次读入的字节数输出函数:Outfil

2020-05-22 19:46:35 510

原创 【C++】第8章:(二)文件处理-文件文本

文件与流文件操作的基本步骤:打开文件:建立文件流对象流对象与磁盘文件关联指定文件的打开方式streamclass fileObj(fileName,openMode);fileObj.open(fileName,openMode);文件的打开模式:打开文件方法1:调用流类带参数的构造函数,建立流对象时连接外部文件流类 对象名(文件名,方式);(流类:ifstream、ofstream或fstream)例如:ifstream infile(“datafile.dat”,ios::

2020-05-22 18:53:41 143

原创 【C++】第8章:(一)输入输出流的基本概念及标准I/O流

文章目录一.流类和流对象IO流二.标准流标准输出流标准输入流一.流类和流对象流(stream):是一个抽象的概念,表示信息从源到目的端的流动,数据按顺序从一个对象传送到另一个对象IO流输入输出流的任务就是在内存和外部设备之间稳定可靠地传输数据和解释数据。输入数据 ———(输入流 Input stream)——> 内存 ——— (输出流Output stream)——> 输出数据二.标准流在C++中,把键盘和显示器定义为标准设备,而针对标准设备实现的输入与输出操作称为标准流。标准输

2020-05-22 16:43:16 125

原创 【C++】第7章:(五)递归算法

用递归的方法求n!n! = 1 (n=0,1)n! = n*(n-1)! (n>1)

2020-05-21 19:15:55 225

原创 【C++】第7章:(四)参数传递的意义和作用

文章目录一.函数为什么需要参数传递?二.参数传递——值传递的用法三.参数传递——地址传递的用法1.形参是指针2.传数组的首地址(传数组名)传二维数组的首地址3.传引用一.函数为什么需要参数传递?函数之间的共享数据是通过参数传递完成的(函数就像一个可以实现特定功能的盒子,实参的值复制一份传进去,操作后返回一个值,而实参原来本身的值不会改变)二.参数传递——值传递的用法方式:函数的形参的类型为简单变量当实参传递给形参时,系统会建立一份拷贝给形参。当函数调用完毕后,这份实参的拷贝消失。特点:传值调用

2020-05-21 16:57:53 411

原创 【C++】第7章:(三)变量的作用域与生存期

文章目录1.什么是作用域与生存期?2.变量的种类3.变量的存储类型1.什么是作用域与生存期?文件 file.cppint a; //文件作用域,全局变量main 函数{f2();...f1();}f1 函数{auto int b; //函数作用域或块作用域,局部变量f2();...}f2 函数{static int c; //同 b...}变量的作用域:变量起作用的范围(1.文件作用域;2.函数或者块作用域)变量的生存期:变量能保存值的时间范围2.变量的种类局

2020-05-21 13:02:47 230

原创 【C++】第7章:(二)函数的调用及声明、函数重载

函数的调用主调函数通过函数名调用被调函数,如果被调函数中有形参,则主函数中的函数调用语句须给出对应的实参;调用格式:函数名(实参表)调用方式:有返回值:m=funMax(x,y); //表达式形式的调用无返回值:fun(a,b); //语句形式的调用函数的声明在主函数前声明函数,则函数的定义可以在所有地方调用三个关键部分函数的名字函数返回值的类型调用这个函数的时候必须提供的参数的个数和参数类型语法格式数据类型 函数名(形参列表);函数重载定义

2020-05-21 10:45:52 262

原创 【C++】第7章:(一)函数的概念及定义

文章目录一.为什么需要函数二.什么叫函数三.如何定义函数一.为什么需要函数避免重复性操作分而治之思想:把一个复杂的问题分解成若干个简单的问题,每个简单的问题是一个独立的功能模块,每个模块用函数实现二.什么叫函数int funMax(int x,int y){ if(x>y) return x; else return y;}能够完成特定功能的独立代码块;能够接受数据,并对接受的数据进行处理;也可以不接受数据,可以返回结果也可以不返回结果;归纳:函数是一个工具,

2020-05-20 19:38:28 140

原创 【C++】第6章:(五)多级指针、动态存储分配

二级指针一级指针:指针变量中存放目标变量的地址int *p;int i=5;p=&i;*p=15;二级指针:指针变量中存放一级指针变量的地址int **p1;int *p2;int i=5;p2=&i;p1=&p2;**p1=15;用二级指针处理字符串int main(){char **p;char *name[5]={"www.","hust.","edu.","cn"};p=name+1;cout<<*p;p+=2;while

2020-05-20 16:38:49 268 3

原创 【C++】第6章:(四)指针数组

指针数组数据类型 * 数组名[数组长度说明]例 int *p[4];指针数组赋值与初始化赋值:main(){ int b[2][3],*pb[2]; pb[0]=b[0]; pb[1]=b[1]; ......}初始化:main(){ int b[2][3],*pb[ ]={b[0],b[1]};...}指针数组赋值与初始化初始化:mai...

2020-04-17 11:06:36 145

原创 【C++】第6章:(三) 指针和二维数组

文章目录二维数组与指针的关系行指针与列指针(重点)用指针操作二维数组的实例二维数组与指针的关系int a[3][4];对于二维数组a:a是数组名,包含三个元素,a[0],a[1],a[2]每个元素a[i],又是一个一维数组,包含4个元素二维数组具有二级地址的含义行指针与列指针(重点)行指针:a[0],a[1],a[2],a[3]列指针:a[0]+1,a[0]+2,a[1]+1...

2020-04-16 14:38:24 197

原创 【C++】第6章:(二)指针与一维数组:求两个集合的交集

指针表示一维数组的元素数组名int a[ ]={1,2,3,4,5,6,7,8,9}下标表示法a[i]:a[0],a[1],a[2],a[3]地址表示法*(a+i): *(a+0), *(a+1), *(a+2), *(a+3)指针的算术运算与比较运算用指针操作一维数组的实例...

2020-04-16 11:10:10 1859 1

原创 【C++】第6章:(一)指针概述及基本应用

访问内存中的数据从内存单元中访问数据的方法有两种:直接访问和间接访问直接访问通过变量名,直接对变量的存储单元进行存取访问。定义变量后,该变量名也就成为了相应内存空间的名称,表现在程序语句中就是通过变量名来存取变量内容间接访问根据变量的地址进行存取访问指针变量与指针变量的定义...

2020-04-12 22:16:02 180

原创 【C语言】变量的作用域和存储方式

文章目录变量的作用域和存储方式全局变量局部变量全局变量和局部变量命名冲突的问题变量的作用域和存储方式按作用域分:全局变量局部变量按变量的存储方式:静态变量自动变量寄存器变量全局变量在所有函数外部定义的变量叫全局变量全局变量使用范围:从定义位置开始到整个程序结束#include <stdio.h>int k=1000;//k是全局变量void f(vo...

2020-04-05 09:53:26 193

原创 【C语言】如何在软件开发中合理的设计函数来解决实际问题(举例输出从1~某个数(包括这个数)之间的素数)

举例:输出从1~某个数之间的素数在这里插入代码片

2020-04-04 21:08:09 204

原创 【C语言】函数的声明、形参和实参

例1:#include <stdio.h>void g(void){ printf("hello,函数!\n");}int main(){ g(); return 0;}例2:#include <stdio.h>void f(void);//函数声明,分号不能丢int main(){ f(); return 0;}v...

2020-04-04 16:12:08 2166

原创 【C语言】函数_判断一个数是否是素数

判断一个数是否是素数:#include <stdio.h>int main(){ int val; int i; scanf("%d",&val); for(i=2;i<val;i++) { if(val%i==0) break; } if(i==val) printf("Yes!\n"); else printf("No!"); ...

2020-04-04 15:24:16 430

原创 【C语言】初识函数:第一个简单的函数

如果要实现一个相同的功能,只是针对的数据不一样,可以把这部分单独出来,这就能写成可以实现某一功能的函数。要使用这个功能时直接引用这个函数即可。避免大量重复性代码的出现函数是一个工具,不是为某一个问题而设计的,而是为了解决大量同类型的问题而设计的用一个简单的例子理解函数:输入两个数输出其中的最大值代码如下:#include <stdio.h>//max函数求两个数的最大值...

2020-04-03 18:48:30 479

原创 [C++题目]:C++实现输入多个学生的成绩,求其总分,平均分并按排名从高到低顺序输出

题目内容假定有学生3位,3门课程。学期末要求汇总成绩,请用一个二维数组存储这些学生的成绩数据,同时将每位学生所有课程成绩的总分、平均分和名次列入学生成绩汇总表(二维数组)中的后三列上。要求输入学生各科课程成绩数据后并输出成绩汇总表。(要求:输出每个数据间用2个英文空格隔开,且每行最后一个数据后也有2个英文空格)输入格式:在一行输入所有数据,数据间用一个空格分隔输出格式:按名次从高到低分...

2020-04-03 16:04:42 13143 1

原创 【C++】第5章:(六)字符串的应用(包含统计一个句子中单词的个数)

文章目录一.字符数组和数值数组的区别二.字符数组的赋值三.字符串常用的函数四.一维字符数组的遍历框架五.字符数组举例一.字符数组和数值数组的区别相同点:定义格式一样,可以使用循环访问每个元素不同点1:循环控制条件不一样;//数值数组int a[6]={1,2,3,4,5,6};for(i=0;i<6;i++)cout<<a[i];//字符数组char str[6...

2020-04-02 18:10:43 566

原创 【C++】第5章:(五)字符串和字符数组 (包含cin和cin.getline混合使用输入时要清除缓冲区数据)

文章目录一.字符变量与字符串二.字符串与一维字符数组三.字符数组的输入混合使用cin和cin.getline四.字符数组的输出一.字符变量与字符串char a=‘M’;char b[ ]=“M”;char c[ ]="爱“;sizeof(a) = 1sizeof(b) = 2sizeof( c) = 3sizeof() 用来求所占字节数以上表明:字符变量只能存放一个字节的字符...

2020-04-02 16:42:49 1125

原创 【C++】第5章:(四)二维数组:从计算多个学生成绩并排序输出看二维数组

文章目录二维数组二维数组的存储二维数组应用的三个基础框架二维数组案例:计算多个学生的成绩并排序输出二维数组二维数组可以表示二维表格上的数据二维数组存储形式先行后列二维数组的处理一般采用双重循环语句二维数组的存储元素按先行后列的顺序存放例如:int a[3][4];a —>数组名a代表整个二维数组的首地址的地址常量0a[0][0]1a[0]...

2020-04-02 14:00:13 4259

原创 【C++】第5章:(三)巧用数组下标 (判断一个数有无重复数字、十进制转换成二进制)

【例】输入一个整数,判断该数是否有重复的数字

2020-03-29 22:24:40 341

原创 [C++题目]:随机输入一串数字,查找某个数是否在其中(结合折半查找和冒泡排序的数组的应用)

折半查找: low=0;high=N-1; while(low<=high){//在low<=high的查找条件下一直循环折半 mid=(low+high)/2; if(key==r[mid]){ find=1;break; } else if(key<r[mid]){ high=mid-1; } else if(key>r[mid]...

2020-03-29 18:26:04 899

原创 【C++】第5章:(二)冒泡排序(数组应用)

冒泡排序的思想:const int N=5;int a[N];N个数要循环N-1轮,设每轮的顺序数为i每轮循环N-i次for(i=1;i<N;i++)//一共需要循环的轮数i{ for(j=0;j<N-i;j++)//从a[0]开始循环比较,每轮需要循环的次数j if(a[j]>a[j+1]) { t=a[j+1]; a[j+1]=a[j]; ...

2020-03-29 17:28:14 133

原创 【C++】第5章:(一)查找算法(数组应用)

折半查找查找的数据必须是顺序排列的查找的条件:low<highkey的一次查找过程:mid=(high+low)/2;1.key>a[mid],没有找到,low=mid+1,结束本次查找2.key<a[mid],没有找到,high=mid-1,结束本次查找3.key==a[mid],找到,输出mid,全部查找结束代码如下:#include <iostrea...

2020-03-29 16:28:35 167

原创 【C语言】关于C语言数组的基础知识

数组为什么需要数组数组的分类为什么需要数组为了解决大量同类型数据的存储和使用问题为了模拟现实世界数组的分类一维数组二维数组

2020-03-28 21:09:41 303

原创 2020.3.28 随想记录

大一的时候自学了一下C语言,大二学校开了课程又学了一遍。虽然考试考得挺高分的,但是我觉得学的特别浅显,很多重要的都没学,比如指针,函数没有细讲,我自己也不怎么了解,后面的链表啊结构体啊都没有上,老师说考试不考,不用掌握。最近打算自学一下数据结构,用c语言实现的,大概看了一下发现好像有一些链表啊,队列啊结构体这些名词,感觉是C语言里面的知识,所以打算重新再看看c语言吧,从郝斌老师的数组那里开始看好...

2020-03-28 15:03:08 79

原创 [C++题目]:计算天数

题目内容:程序输入某年某月某日,判断这一天是这一年的第几天?输入格式:在一行依次输入一个日期的年、月、日,数据之间用空格隔开。输出格式:输出计算的结果。输入样例:2000 3 20输出样例:80天代码如下:#include<iostream>using namespace std;int main(){ int x,y,z,s,i; s=0; cin&g...

2020-03-26 12:35:56 1432

原创 【C++】判断一个数是否有小数

有这样一道题:题目内容:设计一个简单的计算器程序,根据输入的操作数和运算符可以完成 + 、—、 、/ 、% 运算。输出结果必须是一个完整的算术运算式的格式。*例如 :输入3.1 5 + ,输出结果是 3.1+5=8.1。注意:当输入的运算符是"/“且第二个操作数是0时,输出“除数不能为0”当输入的运算符是”%"且操作数中含有小数(如6.5)时,输出“error!”在做这道题时,我把输...

2020-03-26 12:20:23 11141 3

原创 [C++题目]:求和s=a+aa+aaa+…+aaa…a(n个a)

题目内容:编程计算s=a+aa+aaa+…+aaa…a(n个a),a的取值为0~9,n的取值为0~5,a和n由键盘输入例如:a=1,n=3,则s=1+11+111=123输入格式:输入a和n输出格式:s的值输入样例:2 3输出样例:s=246问题分析:存在两次累加:t+=a和s+=t1.用n–控制循环的次数n;2.循环每次a乘以10;3.用t储存每次总和s加的数;代码如下:...

2020-03-26 12:03:43 5086 1

原创 [C++题目]:求整数的数根

题目内容:对于一个正整数n,我们将它的各个位相加,得到一个新的数字,如果这个数是一位数,我们称之为n的数根,否则重复处理,直到它成为一个一位数,这个一位数就是n的数根。一位数的数根为0。例如:24,2+4=6,6是24的数根398,3+9+8=20,2+0=2,2是398的数根输入格式:输入n输出格式:n的数根输入样例:789输出样例:6...

2020-03-26 11:53:33 4461 2

原创 [C++题目]:求函数s(n)=2/1+3/2+…+(n+1)/n的值

题目内容:输入n,求以下函数的值s(n)=2/1+3/2+…+(n+1)/n输入格式: 输入n输出格式:输出s(n)的值输入样例:5输出样例:7.28333问题分析用k做计数器,循环k=n前sum的累加;分子分母不断加1;代码如下:#include <iostream> using namespace std;int main (){ int n,k=...

2020-03-26 10:43:54 2082

原创 [C++题目]:关于素数的问题:求0到200内第n个到第m个素数的和

题目内容:给定两个整数n和m,0<n<=m<=200,编写程序计算第n个素数到第m个素数之间所有的素数的和,包括第n个素数和第m个素数。注意:是第n个素数到第m个素数,不是n和m之间的素数!输入格式:两个正整数,第一个表示n,第二个表示m。输出格式:输出所求的和。输入样例:2 4输出样例:15问题分析素数:因数只有1和它本身的数(即只能被1和它本身整除)...

2020-03-26 10:22:45 1194 3

原创 [C++题目]:求若干数的最大值和平均值

题目内容:编程要求输入若干不为0数据,输入0结束,求该若干数中的最大值和平均值。如果输入0个数则最大值和平均值均为0.输入格式:输入若干个数以0结束输出格式:先输出最大值,然后再输出平均值,两数据间用英文逗号隔开。注意不要输出任何别的多余字符。输入样例:23 2 -6 -10 40 0输出样例:max=40,avg=9.8问题分析#include <iostream&gt...

2020-03-24 18:39:12 3556

原创 C++如何输出换行及空格

C++中用cout输出换行的三种方式:cout<<endl;cout<<’\n’;cout<<"\n";这样就可以单独输出换行啦!输出空格:cout<<" "<<endl;另外:c++中\t是跳到下一个Tab位置的意思,相当于按一下Tab键。Tab键代表了8个空格,所以输出空格时也可以用\t空开8个间隔。...

2020-03-23 16:36:33 75620 4

原创 [C++经典题目]:如何分解一个正整数的质因数

题目将一个正整数分解质因数。例如:输入90,输出90=233*5,输入5,输出5=5

2020-03-21 21:47:14 4154

空空如也

空空如也

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

TA关注的人

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