C++类与组合
2020届高考数学(理)一轮复习精品特训专题十:计数原理(6)排列与组合C

计数原理(6)排列与组合C1、2018年3月22日,某校举办了“世界水日”主题演讲比赛,该校高三年级准备从包括甲乙丙在内的6名学生中选派4人参加演讲比赛,其中学生丙必须参加,仅当甲乙两同学同时参加时候,甲乙至少有一人与丙学生演讲顺序相邻,那么选派的4名学生不同的演讲顺序的种数为( )A.228B.238C.218D.2482、某单位实行职工值夜班制度,已知,,,,A B C D E,5名职工每星期一到星期五都要值一次夜班,且没有两人同时值夜班,星期六和星期日不值夜班,若A昨天值夜班,从今天起,B C至少连续4天不值夜班, D星期四值夜班,则今天是星期几( )A.二B.三C.四D.五3、甲、乙、丙、丁、戊五位妈妈相约各带一个小孩去观看花卉展,她们选择共享电动车出行,每辆电动车只能载两人,其中孩子们表示都不坐自己妈妈的车,甲的小孩一定要坐戊妈妈的车,则她们坐车不同的搭配方式有( )A.12种B.11种C.10种D.9种4、两所学校分别有2名、3名学生获奖,这5名学生要排成一排合影,则同校学生排在一起的概率是( )A. 1 30B.1 15C.1 10D. 1 55、某校毕业典礼由6个节目组成,考虑整体效果,对节目演出顺序有如下要求:节目甲必须排在前三位,且节目丙、丁必须排在一起,则该校毕业典礼节目演出顺序的编排方案共有( )种。
A. 240B. 156C. 188D. 1206、若112311n n n n n n n n C C C C +--+++=++,则n = ( )A.4B.5C.6D.7 7、将5名同学分到甲、乙、丙3个小组,若甲组至少两人,乙、丙组每组至少一人,则不同的分配方案的种数为( )A.50B.80C.120D.1408、将3本相同的语文书和2本相同的数学书分给四名同学,每人至少1本,不同的分配方法数有( )A.24B.28C.32D.369、若,m n 均为非负整数,在做m n +的加法时各位均不进位(例如:20191002119+=,则称(),m n 为“简单的”有序对,而m n +称为有序对(),m n 的值,那么值为2019的“简单的”有序对的个数是( ) A .30 B .60 C .96 D .10010、5个男生和3个女生站成一排,则女生不站在一起的不同排法有( ) A.14400种 B.7200种 C.2400种 D.1200种11、将序号分别为1,2,3,4,5的5张参观券全部分给4人,被人至少1张,如果分别同一人的两张参观券连号,那么不同的分法种数是__________.12、甲、乙、丙、丁四个人排成一行,则乙、丙相邻的排法种数是__________.13、学校将从4名男生和4名女生中选出4人分别担任辩论赛中的一、二、三、四辩手,其中男生甲不适合担任一辩手,女生乙不适合担任四辩手.现要求:如果男生甲入选,则女生乙必须入选.那么不同的组队形式有__________种14、有编号分别为1,2,3,4,5的5个黑色小球和编号分别为1,2,3,4,5的5个白色小球,若选取的4个小球中既有1号球又有白色小球,则有__________种不同的选法 15、有4个不同的球,四个不同的盒子,把球全部放入盒内(结果用数字表示). 1.共有多少种放法?2.恰有一个盒子不放球,有多少种放法?3.恰有一个盒内放2个球,有多少种放法?4.恰有两个盒不放球,有多少种放法?答案以及解析1答案及解析: 答案:A解析:对甲、乙两名同学是否参加分类.第一类,甲、乙均未参加: 44A .第二类,甲、乙中是有1人参加: 124234144C C A =.第三类,甲、乙都参加:14123432260C A C A -=.1232414460228N N N N =++=++=.2答案及解析: 答案:C 解析:3答案及解析: 答案:B解析:这是个错位排列模型,可视作1、2、3、4、5五个数字排在序号①、②、③、④、⑤的五个位置中,且⑤位置上固定排1,对5所处位置讨论:5在①位置上,是三个元素的错位排列,有2种情况;5在②、③、④位置上分别各都是3种情况;所以共有11种搭配方式,选B.4答案及解析: 答案:C解析:同校学生排在一起共有323323A A A 种排法,而三个学校的学生随便排有66A 种排法,故同校学生排在一起的概率110P = 故选C.5答案及解析: 答案:D 解析:6答案及解析: 答案:A解析:∵1112n n nn n n C C C -++++=,22n n n C C -=, ∴1232n n n n n C C C +++=+, ∴1232n n n n n C C C +++-=,∴122n n n C C ++=,∴122n n C C +=,∴()122n n n -+=,即()()410n n -+=,又0n >, ∴4n =.7答案及解析: 答案:A解析:分两类:若甲组两人,则乙、丙两组的方法数是1232C A ,此时的方法种数为C A =212532C 60;若甲组3人,则方法数C A =325220,根据分类加法原理得总的方法总数为60+20=80,故选A 考点:本题考查了排列组合的综合运用点评:熟练掌握排列、组合的综合运用是解决此类问题的关键,属基础题8答案及解析: 答案:B 解析:第一类,先选1人得到两本语文书,剩下的3人各得一本,有114312C C =种,第二类,先选1人得到一本语文书和一本数学书,其余3人各一本书,有114312C C =种, 第三类,先选1人得到两本数学书,剩下的3人各得一本,有144C =种,根据分类计数原理可得, 12124++种, 故选B9答案及解析: 答案:B解析:值为2019的“简单的”有序对的个数是3121060⨯⨯⨯=.故选B.10答案及解析: 答案:A解析:我们可以在操场上进行实地排队:先让5个男生站成一排有55A 种站法,在站队时每两个男生之间留下一个空(能站且只能站一个人的位置),同时女生还可站两头,因此可供女生站的位置有六个(即“①男②男③男④男⑤男⑥”),把这6个位置编一个号码,再从这6个号码中取出3个排成一排,按它的前后顺序依次把这3个号码分给3个女生甲、乙、丙,再让3个女生对号入座,插进男生之中,最后让这8个人向左看齐,即这8个人站成一排,且女生不相邻,于是就完成了这一事件,因而有:先让5个男生排成一排,有55A 种站法,再让3个女生插入5个男生产生的6个空中,有36A 种排法,故共有5356A A 种不同站法.故选A.11答案及解析: 答案:96解析:5张参观券分成4组, 1组2张,另外3组各1张,且2张参观券连号,则有4种分法,把这4份参观券分给4人,则不同的分法种数是44496A 。
排列组合公式排列组合计算公式

(1)高三年级学生会有 11 人:①每两人互通一封信,共通了多少封信?②每两人互握了 一次手,共握了多少次手?
(2)高二年级数学课外小组共 10 人:①从中选一名正组长和一名副组长,共有多少种不 同的选法?②从中选 2 名参加省数学竞赛,有多少种不同的选法?
(3)有 2,3,5,7,11,13,17,19 八个质数:①从中任取两个数求它们的商可以有多 少种不同的商?②从中任取两个求它的积,可以得到多少个不同的积?
(4)有 8 盆花:①从中选出 2 盆分别给甲乙两人每人一盆,有多少种不同的选法?②从中 选出 2 盆放在教室有多少种不同的选法?
分析 (1)①由于每人互通一封信,甲给乙的信与乙给甲的信是不同的两封信,所以与顺 序有关是排列;②由于每两人互握一次手,甲与乙握手,乙与甲握手是同一次握手,与顺序无 关,所以是组合问题.其他类似分析.
解(1)由于每名学生都可以参加 4 个课外小组中的任何一个,而不限制每个课外小组的 人数,因此共有 种不同方法.
(2)由于每名学生都只参加一个课外小组,而且每个小组至多有一名学生参加,因此 共有 种不同方法.
点评 由于要让 3 名学生逐个选择课外小组,故两问都用乘法原理进行计算.
例 2 排成一行,其中 不排第一,不排第二,不排第三,不排第四的不同排法共有多少种?
A.60 个
B.48 个
C.36 个
D.24 个
解 因为要求是偶数,个位数只能是 2 或 4 的排法有 P12;小于 50 000 的五位 数,万位只能是 1、3 或 2、4 中剩下的一个的排法有 P13;在首末两位数排定后, 中间 3 个位数的排法有 P33,得 P13P33P12=36(个)
排列组合计算公式及经典例题汇总

排列组合公式/排列组合计算公式排列A------和顺序有关组合 C -------不牵涉到顺序的问题排列分顺序,组合不分例如把5本不同的书分给3个人,有几种分法. "排列"把5本书分给3个人,有几种分法"组合" 1.排列及计算公式从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号A(n,m)表示.A(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!(规定0!=1).2.组合及计算公式从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n 个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数.用符号c(n,m) 表示.c(n,m)=A(n,m)/m!=n!/((n-m)!*m!);c(n,m)=c(n,n-m);3.其他排列与组合公式从n个元素中取出r个元素的循环排列数=A(n,r)/r=n!/r(n-r)!.n个元素被分成k类,每类的个数分别是n1,n2,...nk这n个元素的全排列数为n!/(n1!*n2!*...*nk!).k类元素,每类的个数无限,从中取出m个元素的组合数为c(m+k-1,m).排列(Anm(n为下标,m为上标))Anm=n×(n-1)....(n-m+1);Anm=n!/(n-m)!(注:!是阶乘符号);Ann(两个n分别为上标和下标)=n!;0!=1;An1(n为下标1为上标)=n组合(Cnm(n为下标,m为上标))Cnm=Anm/Amm ;Cnm=n!/m!(n-m)!;Cnn(两个n 分别为上标和下标)=1 ;Cn1(n为下标1为上标)=n;Cnm=Cnn-m2008-07-08 13:30公式A是指排列,从N个元素取R个进行排列。
(新)高中数学排列组合公式排列组合计算公式(供参考)

排列组合公式/排列组合计算公式排列P------和顺序有关组合C -------不牵涉到顺序的问题排列分顺序,组合不分例如把5本不同的书分给3个人,有几种分法. "排列"把5本书分给3个人,有几种分法"组合"1.排列及计算公式从n个不同元素中,任取m(m≤n)个元素按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列;从n个不同元素中取出m(m≤n)个元素的所有排列的个数,叫做从n个不同元素中取出m个元素的排列数,用符号 p(n,m)表示.p(n,m)=n(n-1)(n-2)……(n-m+1)= n!/(n-m)!(规定0!=1).2.组合及计算公式从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从n个不同元素中取出m个元素的一个组合;从n个不同元素中取出m(m≤n)个元素的所有组合的个数,叫做从n个不同元素中取出m个元素的组合数.用符号c(n,m) 表示.c(n,m)=p(n,m)/m!=n!/((n-m)!*m!);c(n,m)=c(n,n-m);3.其他排列与组合公式从n个元素中取出r个元素的循环排列数=p(n,r)/r=n!/r(n-r)!.n个元素被分成k类,每类的个数分别是n1,n2,...nk这n个元素的全排列数为n!/(n1!*n2!*...*nk!).k类元素,每类的个数无限,从中取出m个元素的组合数为c(m+k-1,m).排列(Pnm(n为下标,m为上标))Pnm=n×(n-1)....(n-m+1);Pnm=n!/(n-m)!(注:!是阶乘符号);Pnn (两个n分别为上标和下标) =n!;0!=1;Pn1(n为下标1为上标)=n组合(Cnm(n为下标,m为上标))Cnm=Pnm/Pmm ;Cnm=n!/m!(n-m)!;Cnn(两个n分别为上标和下标) =1 ;Cn1(n为下标1为上标)=n;Cnm=Cnn-m2008-07-08 13:30公式P是指排列,从N个元素取R个进行排列。
C 类定义及其应用

准备知识:⑴命名空间(namespace)一个软件往往由多个模块组成,其中会包括由不同程序员开发的组件以及类库提供的组件,因此,在对标识符命名时有可能发生冲突。
一个命名空间将不同的标识符集合在一个命名的作用域内,以防止命名冲突。
比如以如下形式声明一个命名空间s:namespace s{class A{ };void fun();}则引用标识符的方式如下:s::A a;s::fun();即在标识符前加命名空间名称及“::”的前缀。
E1_1如果使用声明:using namespace <已命名的命名空间名称>;比如:using namespace s;该命令用来打开命名空间的限制,则该命名空间中所有的标识符在当前作用域中都可以直接使用,不需要任何前缀。
E1_2在C++标准程序库中,使用了命名空间std,所有标识符都声明在命名空间std中。
在使用C++标准程序库中的任何标识符时,可以直接指定标识符所属的命名空间,例如:std::cout,也可以使用using命令来打开命名空间的限制。
C++标准程序库中中的头文件不再有“.h”的扩展名,因此,在程序开始处使用#include<iostream>、#include<cstdio>、#include<cstring>等包含命令时,可以使用using namespace std;命令打开命名空间的限制。
E1_3在Visual C++ 6.0编译环境中要使用一系列的I/O流类,就应该包含头文件iostream。
⑵对象:现实世界中的一切事物都是对象,对象可以是有形的,比如一间房间,一本书籍;也可以是无形的,比如一个计划。
对象可以是一个简单的个体,比如一个学生;也可以是由其它对象组合而成,比如一个公司有多个部门,每个部门又由许多员工组成。
对类似的对象进行抽象,找出共同的属性就可以构成一种类形。
作为面向对象的程序设计语言,C++支持“抽象”。
排列组合公式

排列组合公式[编辑本段]定义公式P是指排列,从N个元素取R个进行排列(即排序)。
(P是旧用法,现在教材上多用A,Arrangement)公式C是指组合,从N个元素取R个,不进行排列(即不排序)。
[编辑本段]符号常见的一道题目C-组合数P-排列数(现在教材为A)N-元素的总个数R-参与选择的元素个数!-阶乘,如5!=5*4*3*2*1=120C-Combination 组合P-Permutation排列(现在教材为A-Arrangement)一些组合恒等式组合恒等式排列组合常见公式排列组合常见公式[编辑本段]历史1772年,旺德蒙德以[n]p表示由n个不同的元素中每次取p个的排列数。
而欧拉则于1771年以及于1778年以表示由n个不同元素中每次取出p个元素的组合数。
至1872年,埃汀肖森引入了以表相同之意,这组合符号(Signs of Combinations)一直沿用至今。
1830年,皮科克引入符号Cr以表示由n个元素中每次取出r个元素的组合数;1869年或稍早些,剑桥的古德文以符号nPr 表示由n个元素中每次取r个元素的排列数,这用法亦延用至今。
按此法,nPn便相当於现在的n!。
1880年,鲍茨以nCr及nPr分别表示由n个元素取出r个的组合数与排列数;六年后,惠特渥斯以及表示相同之意,而且,他还以表示可重复的组合数。
至1899年,克里斯托尔以nPr及nCr分别表示由n个不同元素中每次取出r个不重复之元素的排列数与组合数,并以nHr表示相同意义下之可重复的排列数,这三种符号也通用至今。
1904年,内托为一本百科辞典所写的辞条中,以表示上述nPr之意,以表示上述nCr之意,后者亦同时采用了。
这些符号也一直用到现代。
[编辑本段]组合数的奇偶对组合数C(n,k) (n>=k):将n,k分别化为二进制,若某二进制位对应的n为0,而k为1 ,则C(n,k)为偶数;否则为奇数。
组合数的奇偶性判定方法为:结论:对于C(n,k),若n&k == k 则c(n,k)为奇数,否则为偶数。
排列组合问题教案_排列组合解题技巧_排列组合问题经典例题_排列组合a和c的区别

排列组合的知识点(一)排列和排列数(1)排列:从n个不同元素中,任取m(m≤n)个元素,按照一定的顺序排成一列,叫做从n个不同元素中取出m个元素的一个排列。
从排列的意义可知,如果两个排列相同,不仅这两个排列的元素必须完全相同,而且排列的顺序必须完全相同,这就告诉了我们如何判断两个排列是否相同的方法。
(2)排列数公式:从n个不同元素中取出m(m≤n)个元素的所有排列当m=n时,为全排列Pnn=n(n-1)(n-1)…3·2·1=n!(二)组合和组合数(1)组合:从n个不同元素中,任取m(m≤n)个元素并成一组,叫做从 n个不同元素中取出m 个元素的一个组合。
从组合的定义知,如果两个组合中的元素完全相同,不管元素的顺序如何,都是相同的组合;只有当两个组合中的元素不完全相同时,才是不同的组合。
(2)组合数:从n个不同元素中取出m(m≤n)个元素的所有组合的个数这里要注意排列和组合的区别和联系,从n个不同元素中,任取m(m≤n)个元素,“按照一定的顺序排成一列”与“不管怎样的顺序并成一组”这是有本质区别的。
[反思] 排列与组合的共同点是从n个不同的元素中,任取m(m≤n)个元素,而不同点是排列是按照一定的顺序排成一列,组合是无论怎样的顺序并成一组,因此“有序”与“无序”是区别排列与组合的重要标志。
简单举例:1、2、3挑两个组成一个数字和1、2、3挑两个数字是完全不一样的!1、2、3挑两个组成一个数字那是排列;1、2、3挑两个数字那是组合。
例如我选1和2,排列里面12和21是两个数字!但是组合的话挑1和2就和挑2和1没有分别!!!《排列组合》教案教学目标:一.知识与技能目标:使学生通过观察,猜测,试验等活动,找出简单事物的排列规律,培养学生初步观察,分析,推理能力,以及有规律的全面思考问题。
二.过程与方法:引导学生使用数学方法解决实际生活中的问题,学会表达解决问题的大致过程。
三.情感态度目标:感受数学与生活的联系,激发学习数学,探索数学的浓厚兴趣,使学生在数学活动中养成与人合作的良好习惯。
高中数学排列组合中c和a的区别

高中数学排列组合中c和a的区别排列组合知识点:排列组|排列组合知识点:排列组,是将n个单项式按某个字母的次序依次排列起来;组合是指用n个单项式中的任意3个单项式相加或相乘的形式,所得的结果作为基础,再按照一定的规则进行新的组合。
排列组合知识点:排列组,是将n个单项式按某个字母的次序依次排列起来;组合是指用n个单项式中的任意3个单项式相加或相乘的形式,所得的结果作为基础,再按照一定的规则进行新的组合。
组合有两种方式:一种是用单独的一个数去乘除以另一个数,把它们的积作为积的因式,再把这个积与除数连乘积的因式分别相乘,然后求和,从而得到一个新的乘法。
排列组合知识点:排列组,是将n个单项式按某个字母的次序依次排列起来;组合是指用n个单项式中的任意3个单项式相加或相乘的形式,所得的结果作为基础,再按照一定的规则进行新的组合。
组合有两种方式:一种是用单独的一个数去乘除以另一个数,把它们的积作为积的因式,再把这个积与除数连乘积的因式分别相乘,然后求和,从而得到一个新的乘法。
另一种是通过顺序不变的项的变换来得到新的乘法,如一个项除以另一个项,又可以变换成另一个乘法等。
排列组合知识点:排列组,是将n个单项式按某个字母的次序依次排列起来;组合是指用n个单项式中的任意3个单项式相加或相乘的形式,所得的结果作为基础,再按照一定的规则进行新的组合。
组合有两种方式:一种是用单独的一个数去乘除以另一个数,把它们的积作为积的因式,再把这个积与除数连乘积的因式分别相乘,然后求和,从而得到一个新的乘法。
另一种是通过顺序不变的项的变换来得到新的乘法,如一个项除以另一个项,又可以变换成另一个乘法等。
二者本质的区别就在于第二种方式是将整体不变的项拆成几部分之和去做乘除运算。
在实际的解题过程中我们常常会看到一些同学写出了一些“诡异”的答案。
比如1, 12, 21, 24, 56, 132等。
这类题目其实最关键的一步是理清数字的排列顺序,因为题干已经告诉了你必须先排除不满足条件的数字。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
/********** End **********/
int main(){
Circle A(4); //圆的半径为4
Box B(1); //正方形的边长为1
NewStyle C(A,B);
cout<<"自定义图形的面积"<<C.S()<<endl;
cout<<"自定义图形的周长"<<C.L()<<endl;
char HomeAddress[50]; //家庭地址
public:
Person(char a[19],char b[20],char c,int d,char e[50]);
Person(Person &);
Person();
~Person();
void PrintPersonInfo(); //输出人员信息
int get_month();//获取月份
int get_day();//获取日期
};
class card {
int book;//图书编号
int reader;//借阅者编号
date borrow_day;//出借日期
int expiry;//借阅期限
public:
card(int Book, int Reader,date Borrow_day,int Expiry=60);//构造函数
//以下打印借书卡c1信息
cout<<"借书卡c1: "<<endl;
cout<<"-----------------------------------------------------"<<endl;
cout<<setw(10)<<'*'<<"图书号: "<<c1.get_book()<<endl;
组合:
【程序设计】
---------------------------------------------------------
题目:定义一个圆形类,属性有半径和相应的成员函数。
然后定义一个正方形类,属性有边长和相应的成员函数。
再编写一个如下图所示的组合类,由一个正方型和一个圆形组成,
要求该组合类能求出阴影部分面积和周长。通过主函数测试该类。
#include<iostream>
#include<cstring>
using namespace std;
class Person{
char IdPerson[19]; //身份证号,18位数字
char Name[20]; //姓名
char Sex; //性别
int Birthday; //生日,格式1986年8月18日写作19860818
class date{
int year;
int month;
int day;
public:
date(int Year=0,int Month=0,int Day=0);//构造函数,给出初始的年月日
void setdate(int Year,int Month,int Day);//设置年月日
int get_year();//获取年份
A.Set(6); //圆的半径变为6
B.Set(2); //正方形的边长变为2
C.Set(A,B);
cout<<"自定义图形的面积"<<C.S()<<endl;
cout<<"自定义图形的周长"<<C.L()<<endl;
return 0;
}
【程序设计】
---------------------------------------------------------
cout<<"-----------------------------------------------------"<<endl;
}
单类
【程序设计】
---------------------------------------------------------
题目:
设计并测试一个矩形类(Rectangle),属性为矩形的左上与右下角的坐标,
姓名(Name),性别(Sex),生日(Birthday)和家庭住址(HomeAddress)。
成员函数包括人员信息的录入和显示。还包括构造函数与拷贝构造函数。
设计一个合适的初始值。
运行结果见样张。
-------------------------------------------------------*/
矩形水平放置。操作为计算矩形周长与面积。
输出见样张
-------------------------------------------------------*/
#include <iostream>
#include <cmath>
using namespace std;
/**********Program**********/
else if(Sex=='w' ||Sex=='M')cout<<"女"<<'\n';
else cout<<" "<<'\n';
void inputPerson(); //输入人员信息
};
/**********Program**********/
/********** End **********/
void Person::inputPerson(){
cout<<"请输入身份证号,18位数字:"<<endl;
cin.getline(IdPerson,19);
rect2.Show();
cout<<"left-top point is ("<<rect.getLeft()<<","<<rect.getTop()<<")"<<'\n';
cout<<"right-bottom point is ("<<rect.getRight()<<","<<rect.getBottom()<<")"<<'\n';
组合图形见图:组合.JPG
输出结果见图:样张.JPG
-------------------------------------------------------*/
#include <iostream>
#include <cmath>
using namespace std;
const double PI=3.1416;
{
B=b;
}
double S()
{
return PI*B*B;
}
};
class NewStyle{
int A,B;
public:
void input(double a,double b){
A=a;
B=b;
}
double S(){
return 3.14*(A*A)-B*B;
};
double L(){
return 2*PI*A+4*B;
cout<<setw(10)<<'*'<<"图书号: "<<c2.get_book()<<endl;
cout<<setw(10)<<'*'<<"借书人: "<<c2.get_reader()<<endl;
cout<<setw(10)<<'*'<<"借阅期限: "<<c2.get_expiry()<<endl;
date get_borrow_day();//获取出借日期
date get_return_day();//获取归还日期,归还日期=出借日期+借阅期限
int get_book();//获取图书编号
int get_reader();//获取借阅者编号
int get_expiry();//获取借阅期限
};
cout<<setw(10)<<'*'<<"归还日期: "<<c1.get_return_day().get_year()<<":"<<c1.get_return_day().get_month()<<":"<<c1.get_return_day().get_day()<<endl;
cout<<"-----------------------------------------------------"<<endl;
cout<<setw(10)<<'*'<<"借书人: "<<c1.get_reader()<<endl;