自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 《分治中的典型题型-求字符串的最大子段和》

问题二:最大连续和(字符串的最大连续子串的和)比如给了一串字符串[1,-2,3,10,-4,7,2,-5]让你求最大的子字符串的和经分析可知,输入数组的子数组[3,10,-4,7,2]可以求得最大和为18。解答:针对最大子段和这个具体问题本身的结构,我们还可以从算法设计的策略上对上述O(n^2)计算时间算法进行更进一步的改进。从问题的解结构也可以看出,它适合于用分治法求解。如果将所给的序列a[1:n]分为长度相等的两段a[1:n/2]和a[n/2+1:n],分别求出这两段的最大子段和,则a[1:n]的

2022-06-30 21:00:29 267 1

原创 《分治中的经典题型-蚂蚁问题》

问题一:蚂蚁爬杆问题,n只蚂蚁以每秒1cm的速度在长为Lcm上的杆子上爬行。当蚂蚁爬到杆子的两个端点的时候,就会从杆子上掉落下来。规定两只蚂蚁相遇的时候,不能交叉通过,只能各自掉头爬回去。假设对于蚂蚁i来说,它的初始位置与杆子无端的距离是Xi,但是不知道它的朝向。请计算所有蚂蚁掉落杆子需要的最短时间和最长时间。假设L为10cm n为3 X为2,6,7求最后的最短和最长时间。解答:最简单的最短时间为4s 不需要考虑碰撞当X为2与X为6,7反方向运动时,最短时间就是X为6处的蚂蚁掉落杆子的时间为最短时间如图

2022-06-30 20:56:28 803

原创 C++程序设计基础课程设计报告

第一章 概述1.1选题的意义1.1.1 选题(1)递推法应用一个人赶着鸭子去每个村庄卖,每经过一个村子卖去所赶鸭子一半又一只。这样他经过了七个村子后还剩两只鸭子,问他出发时共赶多少只鸭子?经过每个村子卖出多少只鸭子?(2)精确计算及迭代求一个数的开平方 公式为x i+1=(x i+a/x i)/2(3)数组类问题用字符数组实现求数组的最值,平均,排序,查找等功能1.1.2 选题的意义递推算法是一种用若干步可重复运算来描述复杂问题的方法。递推是序列计算中的一种常用算法。通常是通过计算前

2022-06-05 09:04:40 1966

原创 {C++结构体}菜大学生C++笔记23

第七章 结构体复习:结构体类型的定义:数据类型如果未定义变量,不占据内存。结构体变量的定义:结构体变量的初始化与赋值:结构体变量的输入与输出:#include < iostream>#include < cstring>;using namespace std;struct student{int num;//学号char name[20];//姓名float score;//成绩};int main(){struct student s1=

2022-05-13 11:02:47 268

原创 {练习题}函数(3)

一. 单选题1.以下关于函数的叙述中,正确的是( D )A. 函数必须具有参数B. 函数必须同时具有参数和返回值C. 函数必须有返回值D. 函数可以没有参数,也可以没有返回值2.以下程序的运行结果是( D )#include < iostream>using namespace std;void swap(int x,int y){int t;t=x;x=y;y=t;cout<<x<<" “<<y<<endl;}

2022-05-12 12:02:42 618

原创 {练习题}指针(4)

一. 单选题1.(单选题)C++规定:对于一个具有N个元素的一维数组 ,其下标的取值范围是( C )A.0~NB.1~NC.0~N-1D.N~12.若有数组定义: int a[10]={0};则以下叙述中正确的是( D )A.数组a中共有10个元素,即a[1],a[2],…a[10]B.数组a中共有11个元素,即a[0],a[1],a[2],…a[10]C.数组a中共有10个元素,即a[0],a[1],…a[9],其中元素a[0]的取值为0,其他元素的值不确定。D.数组a中共有

2022-05-12 11:41:52 2533

原创 {练习题}指针(3)

一. 单选题1.有如下程序:#include< iostream>using namespace std;int main( ){int a[6]= {23,15,64,33,40,58};int s1,s2;s1=s2=a[0];for(int *p=a+1; p<a+6; p++){if(s1>*p)s1=*p;if(s2<*p)s2=*p;}cout<<s1+s2<<endl;return 0;}运行时的输出结果

2022-05-11 20:25:35 198

原创 {练习题}指针(2)

一. 单选题1.(单选题, 4分)已定义以下函数void fun(char *p2, char *p1){ while((*p2=*p1)!=‘\0’){p1++;p2++; } }函数的功能是(A)A. 将p1所指字符串复制到p2所指内存空间B. 将p1 所指字符串的地址赋给指针 p2C. 对p1和p2两个指针所指字符串进行比较D. 检查p1和p2两个指针所指字符串中是否有‘\0’2.不正确的字符串赋值或赋初值方式是( C)A. char *str;str=“string

2022-05-11 20:04:21 953

原创 {C++善于利用指针与引用(4)}菜大学生C++笔记22

第6章 善于利用指针与引用以下定义都定义了什么?int i; 定义了一个整型变量,i是变量int a[5]; 定义了一个整型数组,共5个元素.a[0]…a[4]a是数组名,常量。是数组的首地址。int *p; 定义了一个整型指针,接收整型变量地址。加1走过一个整数int *p[4] 定义了一个指针数组。P是常量,4个元素。每个元素都是一个指针变量。char *s; 定义了一个字符指针。变量。当字符指针未指向数组时,不允许修改部分内容。char *s[

2022-05-11 19:43:57 357

原创 {C++善于利用指针与引用(3)}菜大学生C++笔记21

第6章 善于利用指针与引用6.4 字符串与指针1 存放字符串的三种方式。(字符数组,字符串变量,字符指针)#include< iostream>using namespace std;int main(){char str[]=“I love CHINA!”;cout<<str<<endl;return 0;}#include < iostream>#include < string>using namespace

2022-05-05 15:49:25 337

原创 {练习题}指针

1、将代码补全,使输出的结果为456789123(不得修改main函数中的代码,在moveleft函数中不得有输出语句)#include < iostream>using namespace std;//将一个长度为n的数组循环左移m位void moveleft(int *x,int n,int m){}//输出长度为n的数组void priarr(int *x,int n){}int main(){int a[9]={1,2,3,4,5,6,7,8,9};movel

2022-05-04 19:39:08 280

原创 {练习题}数组(3)

一. 单选题1、要定义一个具有5个元素的一维数组vect,并使其个元素的初值依次是30,50,-88,0和0,则下列定义语句中错误的是( A )。A.int vect[]={30,50,-88};B.int vect[]={30,50,-88,0,0};C.int vect[5]={30,50,-88};D.int vect[5]={30,50,-88,0,0};2.已知有数组定义char a[3][4];下列表达式中错误的是( A )。A.a[2]=”WIN”B.strcpy(a[2],”

2022-05-04 09:35:34 2615

原创 {练习题}函数(2)

一. 单选题1.、如果一个函数无返回值,定义时它的函数类型应是(C)A. 任意B. intC. voidD. 无2.在参数传递过程中,对形参和实参的要求是(B)A. 函数定义时,形参一直占用存储空间B. 实参可以是常量、变量或表达式C. 形参可以是常量、变量或表达式D. 形参和实参类型和个数都可以不同3.对数组名作函数的参数,下面描述正确的是(B)A. 数组名作函数的参数,调用时将实参数组复制给形参数组B. 数组名作函数的参数时,主调函数和被调函数共用一段存储单元C. 数组名作函

2022-05-04 09:05:01 796

原创 {练习题}函数

一. 单选题(共14题,86.8分)1.下列关于函数的描述中,错误的是(D )。A.函数可以没有返回值B.函数可以没有参数C.函数可以是一个类的成员D.函数不能被定义为模板2.下列关于C++函数的说明中,正确的是( C )。A.内联函数就是定义在另一个函数体内部的函数B.函数体的最后一条语句必须是return语句C.标准C++要求在调用一个函数之前,必须先声明其原型D.编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式3.若有下面的函数调用:...

2022-05-02 19:31:56 1695

原创 {练习题}数组(2)

1、 从键盘上输入年月日,求此日是这一年的第几天。编写一个函数完成此功能。函数返回值类型为整数,参数为3个整数(年月日)(提示,可用数组保存每月的天数)。#include < iostream>using namespace std;int main(){int year, month, day;int sum = 0;int days[12] = {31, 28, 31, 30, 31, 30, 31, 31, 30, 31, 30, 31};cout<<“请输入年

2022-05-02 19:22:22 153

原创 {练习题}数组

1.定义一个方阵,使用任意方式为其初值。先输出此矩阵,不使用其他方阵,转置后再输出此方阵。2. 定义一个3行4列的数组表示一个矩阵,使用任意方式为其赋初值。转置后放入另一个4行3列的数组中。输出两个数组。3. #include < iostream>#include < iomanip>using namespace std;int main(){int a[3][4]= {{0,1,2,3},{4,5,6,7},{8,9,10,11}};int b[4][3];

2022-05-02 19:13:50 138

原创 {C++善于利用指针与引用(2)}菜大学生C++笔记20

第6章 善于利用指针与引用14 指针做为函数参数的一个误区#include< iostream>using namespace std;int main(){void swap(int *p1,int *p2);int *pointer_1, *pointer_2,a,b;cin>>a>>b;pointer_1=&a;pointer_2=&b;if(a<b)swap(pointer_1,pointer_2);cout&l

2022-05-02 18:59:02 572

原创 {C++善于利用指针与引用}菜大学生C++笔记19

第6章 善于利用指针与引用6.1 什么是指针1 变量里存的是内容,这个内容在何处?在内存中申请了一段空间。我们用a来标识,把5赋值,20赋值。A与内存的一段地址相关系。2 如何看变量的内容与地址?内容与地址不同,定义一个变量后。只要程序未结束,地址不会变。而内容可变。变量 内容 地址 int a=5 ; a=20酒店 客户 房间号 张三住在305; 李四住在3053 直接访问与间接访问某个变量。如果用一个变量获得另一个变量的地址。可能用两

2022-04-28 16:44:14 865

原创 {C++利用数组处理批量数据(5)}菜大学生C++笔记18

第5章 利用数组处理批量数据例:1 筛法求素数#include < iostream>using namespace std;int main(){int num[101]={0};//把所有元素初始化为0int i,j;for(i=2;i<=100;i++){num[i]=i;}//把2的所有倍数删除for(j=4;j<=100;j+=2){num[j]=0;}//把3的所有倍数删除for(j=6;j<=100;j+=3){num

2022-04-28 16:16:26 140

原创 {C++利用数组处理批量数据(4)}菜大学生C++笔记17

第5章 利用数组处理批量数据数值类型的数组如果要访问每个元素,需要使用循环。对于字符数组整体访问有特殊的方法。5.5 字符数组1 如何定义字符数组2 如何初始化一个字符数组(1用单个字符逐个赋值,2用字符串),输出字符数组的特殊方法cout<<字符数组名char c[10]={‘I’,’ ‘,‘a’,‘m’,’ ‘,‘h’,‘a’,‘p’,‘p’,‘y’};//有点危险!!char c[]={‘I’,’ ‘,‘a’,‘m’,’ ',‘h’,‘a’,‘p’,‘p’,‘y’

2022-04-28 16:11:06 972

原创 {C++利用数组处理批量数据(3)}菜大学生C++笔记16

第5章 利用数组处理批量数据7 二维数组表示矩阵----》转置int a[3][4]= {{5,12,23,56},{19,28,37,46},{-12,-34,6,8}};#include < iostream>#include < iomanip>using namespace std;int main(){int a[3][4]= {{5,12,23,56},{19,28,37,46},{-12,-34,6,8}};int b[4][3];int i,

2022-04-20 09:16:37 160

原创 {C++利用数组处理批量数据(2)}菜大学生C++笔记15

第5章 利用数组处理批量数据5.2 、定义和引用一维数组9 如何在定义数组时就给每个变量都赋值?(初始化的三种方式,1) 给每个元素赋值,2) 给一部分赋值,3)根据初始化元素的个数确定数组大小)如果定义数组后未初始化。值 为 无意义的数。#include < iostream>using namespace std;int main ( ){int i=5;int a[5]={1,2,3,4,5};cout<<“输出数组a:”;for(i=0;i&lt

2022-04-20 09:11:57 547

原创 {C++利用数组处理批量数据}菜大学生C++笔记14

第5章 利用数组处理批量数据5.1 、为什么需要用数组1 什么是数组?一次定义多个变量,这些变量类型相同,在内存中连续存在,可以使用循环来访问每个变量。类似数学中向量2 数组中的元素类型必须相同吗?必须相同。5.2 、定义和引用一维数组1 什么是一维数组数组在使用时,通过数组名加 下标访问。 一维数组只有一个下标。表达一个学生的5门成绩。。。2 如何定义一维数组定义一维数组的一般形式为类型名 数组名[常量表达式];3 给数组起名字的规则与变量命名规则相同。

2022-04-12 11:47:20 1471

原创 {C++利用函数实现指定的功能(4)}菜大学生C++笔记13

第4章 利用函数实现指定的功能全局变量:定义在函数外部。定义处后面的函数都可以访问。如果不初始化:值会被自动初始化为0局部变量:定义在函数内部。只在本函数中有效。当本次调用结束时。所占用的存储空间会被释放。局部变量,如果不初始化,或在未赋值之前是没有意义的。有的编译器,不允许直接访问。有的会警告。6 全局变量定义在哪里?作用域有多大?全局变量的作用域,从定义处一直到程序的最后。#include using namespace std;int a=3;void f1();int m

2022-04-12 11:41:00 115

原创 {练习题}定义函数在main中使用这个函数(2)

用C++编写递归函数求斐波那契数列的第n项。第1项值为1,第2项值为1.#include < iostream>using namespace std;int FBLQ(int n){if(n= =1||n= =2){return 1;}else{return FBLQ(n-1)+FBLQ(n-2);}}int main(){cout<<“请输入一个整数n=”;int n;cin>>n;cout<<“斐波那契数列的第”&l

2022-04-10 10:45:48 350

原创 {C++利用函数实现指定的功能(3)}菜大学生C++笔记12

第4章 利用函数实现指定的功能例题1、判断一个年份是否为闰年。判断一个数是否为素数。返回值类型bool 函数名 isPrime 参数 1个整数#include < iostream>using namespace std;bool isPrime(int n){int i;if(n<2)return 0;for(i=2;i<=n/2;i++){if(n%i==0){return false;}}return true;}int mai

2022-04-08 10:34:53 1748

原创 {C++利用函数实现指定的功能(2)}菜大学生C++笔记11

第4章 利用函数实现指定的功能定义函数注意的几个问题1 、函数定义在何处?一个程序中至少有一个函数,main函数。其他的函数定义与main平行的。不要把函数定义在main内部。可以在main前也可以在main后。2、 函数声明在何处?如果函数的定义在使用前。可以不用声明。(不常用)如果函数的定义在使用的后面。必须事先声明。两个位置声明。(1)在main前声明所有的函数。(2)在调用的函数中声明被调用的函数。3 、尽量不在函数中输入输出(求两个数的和)。不好的示范要计算哪两个数的和

2022-04-07 09:09:40 196

原创 {练习题}定义函数在main中使用这个函数

定义一个函数,求三个整数的平均值,返回值为float类型,在main中使用这个函数。#include < iostream>using namespace std;int main(){float average(float f1,float f2,float f3);float x,y,z;cin>>x>>y>>z;cout<<average(x,y,z)<<endl;return 0;}float averag

2022-04-06 09:15:37 404

原创 {练习题}循环(2)

一. 单选题1.下面程序运行后输出的结果是:(A)#include < iostream>using namespace std;int main (){static int a[7];int i;for(i=1;i<=5;i++)a[i]=i;cout << a[i] << endl;return 0;}main( ){}A. 0B. 1C. 5D. 出错2.若有如下程序段,其中s、a、b、c均已定义为整型变量,且a、c均已

2022-04-04 09:50:33 1142

原创 {练习题}选择程序设计

一. 单选题1、C++语言对嵌套if语句的规定是:else总是与( D )。A. 其之前最近的if配对B. 第一个if配对C. 缩进位置相同的if配对D. 其之前最近的且尚未配对的if配对2. 以下程序片段( D )。int main ( ){int x=0,y=0,z=0;if (x=y+z) cout <<”***”;else cout <<”###”;return 0;}A. 有语法错误,不能通过编译B. 输出:

2022-04-01 17:44:41 659

原创 {C++利用函数实现指定的功能}菜大学生C++笔记10

第4章 利用函数实现指定的功能4.1 、 什么是函数1)为什么需要函数(一个函数就是一个功能)一个大型程序:不可能都在main中完成。把功能分成很多模块,放在不同的函数中,甚至放到不同的文件中。公司运作。公司比较小时,所有的工作都由老板完成。(所有的代码都写在main中)。公司做大时,需要其他员工。每人做自己最善长的事。会计,出纳,秘书,保安。2)main(老板)可调用其他函数(员工),其他函数之间也可互相调用除了main之外,所有的函数是平等的。3)函数举例#include

2022-04-01 17:28:30 1170

原创 {练习题}循环

一. 单选题1.执行语句序列( C )。int i=0;while(i<25)i+=3;cout <<i;输出结果是A.24B. 25C. 27D. 282. 有如下程序:#include< iostream>using namespace std;int main( ){int x=3;do{x-=2;cout<<x;}while(!(–x));return 0;}执行这个程序的输出结果是( C )。A.1B

2022-03-30 15:38:52 1103

原创 {C++程序设计初步(6)}菜大学生C++笔记9

第3章 C++程序设计初步(6)例题:7、再次求一元二次方程的解。(如何写出完善的程序)#include < iostream>#include < cmath>using namespace std;int main(){double a,b,c,x1,x2;cout<<“输入一元二次方程的三个系数a,b,c” <<endl;cin>>a>>b>>c;double delta;delta=bb-

2022-03-30 09:24:15 692

原创 {C++程序设计初步(5)}菜大学生C++学习笔记8

第3章 C++程序设计初步(4)7、循环结束后,循环变量的值是多少?循环结束后,循环变量一般会超过终值(从小到大循环)除非遇到break跳出循环。for循环的变化for(表达式1;表达式2;表达式3)表达式1:只做一次。功能是用于变量的初始化。表达式2:在进入循环前计算。功能用于判断循环是否执行。表达式3:循环体执行结束后计算表达式3.功能循环变量的变化。3个表达式每部分都可以省略。但是注意两个分号不能省略如果省略表达式1:将计算表达式1的功能放到循环前。注意分号。#include

2022-03-29 15:29:30 373

原创 {练习题}顺序与选择

单选题1.以下非法的赋值表达式是( C )A. n=(i=2,i++);B. j++;C. ++(i+1);D. x=j>0;2.下列表达式的值为false的是( C )A. 1<3 && 5<7B. !(2>4)C. 3&&0&&1D. !(5<8) || 2<8)3.下列语句中,与语句“n=(a>b?(b>c?1:0):0);”的功能等价的是(C )A.if(a<=b

2022-03-29 11:34:25 1300

原创 {练习题}顺序程序设计

一、单选题1.以下不符合C++语言语法的赋值语句是(A)。A. a=1,b=2B. ++j;C. a=b=5;D. y=(a=3,65);2.结构化程序设计的三种基本结构是(C)。A. 输入、处理、输出B. 树形、网形、环形C. 顺序、选择、循环D. 主程序、子程序、函数3. 语句cout << “a\bre’hi’y\\bou\n”; 的输出结果是(C)。说明:’\b’是退格符A. a\bre’hi’y\\bouB. a\bre’hi’y\bouC. re’hi’y

2022-03-29 11:20:28 861

原创 {C++程序设计初步(4)}菜大学生C++学习笔记7

第3章 @[TOC](第3章 C++程序设计初步(4)7 、 循环结构和循环语句1 用土办法求1+2+3+4+5int s;s=1+2+3+4+5;cout<<s<<endl;return 0;2 高级方法求1+2+3+。。。+10(while)语法While(表达式){语句;}首先计算表达式的值,如果值为非0则执行{}中的语句(如果只有一条语句,可不加{})执行后继续计算表达式的值。直到表达式的值为0,循环结束。#inc

2022-03-28 17:23:39 847

原创 {C++程序设计初步(3)}菜大学生C++学习笔记6

第3章 C++程序设计初步(3)6 选择结构和if语句1 最简单的if语句(成绩判定1,两个数按从小到大输出)如果条件成立要执行多条怎么办??(成绩判定1,复合语句)常规的if语句(两个分支)(成绩判定2)在if与else之间可以写多条吗?多个分支怎么办(成绩判定3)2 三角形的面积(先判断能否组成)3 if语句的嵌套(先分两大情况,每一情况中再细分)例如:学生选课。男生:篮球,足球女生:瑜珈,太极,健美操#include using namespace std;i

2022-03-28 10:04:46 371

原创 {C++程序设计初步(2)}菜大学生C++学习笔记5

第3章 C++程序设计初步(2)4、求余运算字符‘A’ ‘\n’‘\’ \ 后跟3位 8进制(不需要0开头) 2位16进制数(以x开头)5 、关系运算和逻辑运算1 关系运算和关系表达式< <= > >=、== != (判断相等用两个)比较的结果是什么?? 0 1关系运算也有优先级的问题关于优先次序的说明:(1) 前4种关系运算符(>,>=,<,<=)的优先级别相同,后两种也相同。前4种高于后两

2022-03-27 22:33:04 2223

原创 {C++程序设计初步}菜大学生C++学习笔记4

第3章 C++程序设计初步1 、 C++的程序结构和C++语句每一个程序单位由以下3个部分组成:1) 预处理指令。如#include指令和#define指令。2) 全局声明。在函数外对数据类型、函数以及变量的声明和定义。3) 函数。包括函数首部和函数体,在函数体中可以包含声明语句和执行语句。1 #include 2 using namespace std;//在函数之外的全局声明3 int a=3;//在函数之外的全局声明4 int main()//函数首部5 {6 f

2022-03-27 16:54:58 792

空空如也

空空如也

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

TA关注的人

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