C++
半濠春水
这个作者很懒,什么都没留下…
展开
-
月份查询(指针数组)
题目描述已知每个月份的英文单词如下,要求创建一个指针数组,数组中的每个指针指向一个月份的英文字符串,要求根据输入的月份数字输出相应的英文单词1月 January2月 February3月 March4月 April5月 May6月 June7月 July8月 August9月 September10月 October11月 November12月 December输入第一行输入t表示t个测试实例接着每行输入一个月份的数字依次输入t行输出每行输出相应的月份的字符串,若没有原创 2021-09-07 21:29:51 · 917 阅读 · 1 评论 -
复数的加减乘运算(运算符重载)
题目描述定义一个复数类,通过重载运算符:+、-、*,实现两个复数之间的各种运算。 要求如下:1.实现Complex类;2.编写main函数,初始化两个Complex对象,计算它们之间的加减乘,并输出结果。 复数相乘的运算规则 设z1=a+bi,z2=c+di(a、b、c、d∈R)是任意两个复数,那么它们的积(a+bi)(c+di)=(ac-bd)+(bc+ad)i.输入第1行:输入两个数值,分别为第一个Complex对象的实部和虚部。第2行:输入两个数值,分别为第二个Complex对象的实部.原创 2021-09-26 16:14:06 · 2530 阅读 · 0 评论 -
矩阵相加(运算符重载)
题目描述已知一个矩阵包含行数m、列数n、数值data三个属性,包含初始化、输出、相加等操作,要求1、在类定义中,矩阵的data属性是一个整数指针型指针。只有创建对象时,根据外来输入的行数和列数,才把指针变成一个二维数组2、用运算符重载的方法实现两个矩阵对象的相加,矩阵相加是指两个矩阵的每个位置上的两个元素相加3、用构造函数实现对象的初始化,用输出函数实现矩阵的输出。提示:在构造函数内做输入可以减少很多麻烦整数指针变成二位数组的参考代码//m和n是行数和列数int m, n;int **d.原创 2021-09-26 16:13:51 · 1798 阅读 · 0 评论 -
四进制加法(运算符重载)
题目描述定义一个四进制的类,重定义“+”号实现四进制数的累加。输入第一行输入所需要的四进制数的个数第二行开始,依次输入四进制数 输出 所有输入四进制数累加的和样例输入313221样例输出102#include<bits/stdc++.h>using namespace std;class Four_way_addition{private: int num;public: Four_way_addition(int b=0){ num=b; }.原创 2021-09-26 16:13:37 · 544 阅读 · 0 评论 -
图形面积(虚函数与多态)
题目描述编写一个程序,定义抽象基类Shape,在Shape类中定义虚函数Area(); 由它派生出3个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)。 用虚函数分别计算几种图形面积。1、要求输出结果保留两位小数。2、要求用基类指针数组,使它每一个元素指向每一个派生类对象。输入测试数据的组数 t第一组测试数据中圆的半径第一组测测试数据中正方形的边长第一组测试数据中矩形的长、宽…第 t 组测试数据中圆的半径第 t 组测测试数据中正方形的边长第 t 组测.原创 2021-09-26 16:13:22 · 618 阅读 · 0 评论 -
支票账户(虚函数与多态)
题目描述某银行的支票账户分为两类,一类为基本支票账户BaseAccount,另一类为具有透支保护特性的BasePlus支票账户。BaseAccount支票账户的信息包括:客户姓名(name)、账户(account)、当前结余(balance);BaseAccount支票账户可以执行的操作包括:存款(deposit)、取款(withdraw)、显示账户信息(display)。注意:取款金额不能透支,否则显式出错信息“insufficient”。BasePlus支票账户除包含BaseAccount的.原创 2021-09-26 16:13:10 · 176 阅读 · 0 评论 -
分数的加减乘除(运算符重载)
题目描述 要求如下:1.实现Fraction类;common_divisor()和contracted()函数体可为空,不实现具体功能。2.编写main函数,初始化两个Fraction对象的,计算它们之间的加减乘除。输入第1行:依次输入第1个和第2个Fraction对象的分子和分母值。输出每行依次分别输出加减乘除计算后的Fraction对象(直接输出分数值,不需要约简)。样例输入1 3 2 5样例输出fraction=11/15fraction=-1/15fraction=2/15.原创 2021-09-26 16:14:28 · 644 阅读 · 0 评论 -
向量的加减(运算符重载)
题目描述设向量X=(x1,x2,…,xn)和Y=(y1,y2…,yn),它们之间的加、减分别定义为: X+Y=(x1+y1,x2+y2,…,xn+yn) X-Y=(x1-y1,x2-y2,…,xn-yn) 编程序定义向量类Vector,重载运算符“+”、“-”,实现向量之间的加、减运算;并重载运算符”<<”作为向量的输出操作。 Vector类的基本形式如下:要求如下:1.实现Vector类;2.编写main函数,初始化两个Vector对象的,计算它们之间的加减,并输出结果。.原创 2021-09-26 16:14:41 · 4015 阅读 · 1 评论 -
时钟调整(运算符前后增量)
题目描述假定一个时钟包含时、分、秒三个属性,取值范围分别为0~ 11,0~ 59,0~59,具体要求如下:1、用一元运算符++,并且是前增量的方法,实现时钟的调快操作。例如要把时钟调快5秒,则执行5次” ++<对象> “ 的操作2、用一元运算符–,并且是后增量的方法,实现时钟的调慢操作。例如要把时钟调慢10秒,则执行10次” <对象>-- “的操作3、用构造函数的方法实现时钟对象的初始化,用输出函数实现时钟信息的输出 clock和time是系统内部函数,所以不要用来做类名.原创 2021-09-26 16:14:59 · 582 阅读 · 0 评论 -
学生生日差值计算(运算符重载)
题目描述定义一个学生类Student,包含该学生的姓名、出生年、月、日 ,重定义 “-”号实现两个学生之间相差多少天的比较。并利用重载的“-”运算符,求所有学生中年龄相差最大的两个人的名字以及相差天数。 输入第一行:输入所需要输入的学生个数;第二行开始,依次输入每个学生的姓名、出生年、月、日。 输出 输出年龄相差最大的两个人的名字以及相差天数。样例输入3Tom 1995 1 1Joe 1995 2 28Jimmy 1996 1 8样例输出Tom和Jimmy年龄相差最大,为372天#.原创 2021-09-26 16:15:08 · 378 阅读 · 0 评论 -
向量5(友元类)
题目描述在向量CVector类的代码上,定义n阶矩阵类CMatrix,包含私有数据成员M存储矩阵数据,n存储矩阵阶数。 将CMatrix定义为CVector的友元类。 为CMatrix添加成员函数:CVector Multi(const CVector&V1),计算n阶矩阵与n维向量V1的乘积。 为CMatrix添加成员函数,判定矩阵与向量V1是否可计算乘积。为CMatrix添加需要的构造函数、析构函数和其它成员函数。 主函数输入数据,测试矩阵与向量的乘积。 附:n阶矩阵包含n*输入测试.原创 2021-09-25 22:30:15 · 725 阅读 · 0 评论 -
向量1(类和对象)
题目描述n个有序数a1,a2,…,an组成的数组称为n维向量。 为n维向量定义CVector类,包含私有数据成员: int*data;//存储n维向量 int n; //向量维数。方法有:无参构造函数,设置n=5,data的数据分别为0,1,2,3,4;构造函数,用虚参n1和数组a初始化n和data的数据;输出函数,按格式输出n维向量的值; 析构函数。 主函数输入数据,生成CVector对象并调用输出函数测试。输入输入n 输入n维向量输出分别调用无参和带参构造函数生成2个CVecto.原创 2021-09-25 22:09:48 · 850 阅读 · 0 评论 -
有界数组模板类(类模板)
题目描述编写有界数组模板BoundArray(即检查对数组元素下标引用并在下标越界时终止程序的执行),能够存储各种类型的数据。要求实现对数组进行排序的方法sort,及对数组进行查找的方法search。输入第一行先输入t,表示有t个测试用例从第二行开始输入每个测试用例的数据。 首先输入数据类型,I表示int,D表示double,C表示char,接着输入数组的元素个数 然后输入每个元 最后输入要查找的元素输出首先输出从小到大排序的元素 然后输出查找元素的结果,找到则输出下标,下标为排序后的下标.原创 2021-09-25 22:07:48 · 309 阅读 · 0 评论 -
矩阵类模板(类模板)
题目描述设计一个矩阵类模板Matrix,支持任意数据类型的数据。 要求至少包含2个成员函数:矩阵转置函数transport、以及打印输出函数print编写main函数进行测试,调用类的成员函数完成转置和输出。输入第一行先输入t,表示有t个测试用例从第二行开始输入每个测试用例的数据。首先输入数据类型,I表示int,D表示double,C表示char,接着输入两个参数m和n,分别表示矩阵的行和列接下来输入矩阵的元素,一共m行,每行n个数据输出输出转置后的矩阵样例输入2I 2 3.原创 2021-09-25 22:01:24 · 551 阅读 · 0 评论 -
简单类模板(类模板)
题目描述定义一个列表类,该列表包含属性:数值列表(用长度为100的数组表示),数据长度(实际的数据个数);包含的方法:初始化、插入、删除、打印,方法定义为:1)初始化,接受外来参数,把数据保存在数值列表中,未使用的列表部分全部初始化为-12)插入,接受外来参数的插入位置和插入数值,插入位置从0开始计算,注意从插入位置开始,原有数据都要往后移动一位,且数据长度+13)删除,接受外来参数的删除位置,删除位置从0开始计算,注意从删除位置后一位开始,原有数据都要往前移动一位,且数据长度-14)打印,把包.原创 2021-09-25 21:58:50 · 869 阅读 · 0 评论 -
加湿风扇(虚继承)
题目描述已知家电有编号、功率的属性,属性都是整数,操作包括构造和打印等电风扇继承家电的特点,新增两个属性(整数):风向和风力, 其中风向为0表示定向吹风,状态为1表示旋转吹风。电风扇包含两个新操作:风向控制和风力控制1、风向控制含一个整数参数,无返回,把风向设置为参数值,参数为0表示定向吹风,为1表示旋转吹风。2、风力控制含一个整数参数,无返回,把风力设置为参数值,参数表示风力级别,例如1级、2级、3级等。加湿器继承家电的特点,新增两个属性(浮点数):实际水容量和最大水容量新增操作是预警,无.原创 2021-09-25 21:55:39 · 201 阅读 · 0 评论 -
加密模板(类模板+函数模板)
题目描述加密机制包括明文、密文、密钥。用密钥对明文进行加密后就得到密文。 在古典加密机制中,偏离值是一种常见的方法,加密过程为1、在已知数据中找出最大值2、用最大值减去各个数值,得到相应的偏离值3、偏离值加上密钥就得到密文 例如明文为1 2 3 45,密钥是10,加密过程为: 1、找出明文的最大值是5 2、用5减去明文的各个数值,得到偏离值4 3 2 1 0 3、用偏离值加上密钥,得到密文14 1312 11 10定义一个函数模板,名为max,参数包括数组和数组长度,返回值是数组中的最大值.原创 2021-09-25 21:47:30 · 500 阅读 · 0 评论 -
金属加工(运算符重载)
题目描述在金属加工中,金属具有硬度、重量、体积的属性(都是整数),包括四种操作:1、合并,每两块金属可以合并成一块新的金属。新金属的重量等于原两块金属的重量之和,体积和硬度也类似计算。2、巨化,金属通过熔炼风吹的方法会巨化,体积变大n倍,重量和硬度不变3、硬化,在金属中加入高分子材料可以硬化金属,每提升硬度一级,重量和体积都增加10%。4、软化,在金属中加入特殊化学溶液可以降低金属硬度,每降低硬度一级,重量和体积都减少10%用类来描述金属,用运算符重载方式实现金属的四种操作,并定义打印函数,具.原创 2021-09-25 21:43:52 · 204 阅读 · 0 评论 -
会员积分(虚函数和多态)
题目描述某电商网站的会员分为:普通、贵宾两个级别普通会员类Member,包含编号、姓名、积分三个属性,编号和积分是整数,姓名是字符串操作包括构造、打印、积分累加、积分兑换,操作定义如下:1、积分累加Add,是根据消费金额累加积分,无返回值,参数是消费金额(整数),积分根据消费金额按1比1的比例累加2、积分兑换Exchange,是按照每100积分换1元的比例,把积分兑换成现金。参数是要兑换的积分数量,返回值是兑换的现金数量。注意:兑换积分数量不足100的部分是不能兑换的,例如会员原有500积分,.原创 2021-09-25 21:41:23 · 379 阅读 · 0 评论 -
表达式求值
题目描述对以下表达式进行求值,a、b、c是三个变量,它们都是整数a+b>c&&b==c输入第一行输入T,表示后续有T个测试示例第二行开始,每行输入3个变量值,输入T行输出每行输出计算结果样例输入35 6 74 5 56 1 9样例输出010提示#include <iostream>using namespace std;int main(){ int K; cin >> K; while (K.原创 2021-09-23 00:55:35 · 217 阅读 · 0 评论 -
倚天屠龙记(函数模板)
题目描述江湖中有一个传言,只要倚天剑和屠龙刀中暗藏的秘密拼到一起,就能得到天下无敌的内功秘笈。设计一个函数模板,完成拼凑的功能(将倚天剑的秘密连接到屠龙刀的后面),并将秘笈输出. 其中每个秘密由n个元素组成,类型为T。输入第一行输入t表示有t个测试实例第二行先输入一个大写字母表示数据类型,I表示整数类型,D表示双精度数类型,C表示字符型;然后输入n表示数据个数。第三行输入倚天剑的n个数据第四行输入屠龙刀的n个数据 依次输入t个实例输出每行输出一个结果样例输入2I 55 .原创 2021-09-22 00:05:03 · 1037 阅读 · 0 评论 -
谁的票数最高(函数模板)
题目描述某小镇要票选镇长,得票最高者当选。 但由于投票机制不健全,导致每届投票时,候选人在投票系统的识别码类型不一致。请编写函数模板,能针对多种类型的数据,查找出得票最高的元素。 其中,每届投票的选票有n张,识别码类型为T注意:必须使用模板函数输入第一行输入t表示有t个测试实例第二行先输入一个大写字母表示识别码类型,I表示整数类型,C表示字符型,S表示字符串型;然后输入n表示数组长度。第三行输入n个数据依次输入t个实例输出每行输出一个结果,分别输出当选者的识别码和得票数,以空格.原创 2021-09-22 00:05:22 · 675 阅读 · 0 评论 -
元素查找(函数模板)
题目描述编写一个在数组中进行查找的函数模板,其中数组为具有n个元素,类型为T,要查找的元素为key。 注意:必须使用模板函数输入第一行输入t表示有t个测试实例第二行先输入一个大写字母表示数组类型,I表示整数类型,D表示双精度数类型,C表示字符型,S表示字符串型;然后输入n表示数组长度。第三行输入n个数据 第四行输入key依次输入t个实例输出每行输出一个结果,找到输出key是数组中的第几个元素(从1开始),找不到输出0样例输入4I 55 3 51 27 9 27D 3-.原创 2021-09-22 00:06:44 · 504 阅读 · 0 评论 -
数据排序(函数模板)
题目描述编写一个进行升序排序的函数模板,其中数组为具有n个元素,类型为T。 注意:必须使用模板函数输入第一行输入t表示有t个测试实例 第二行先输入一个大写字母表示数组类型, I表示整数类型, C表示字符型, S表示字符串型,D表示双精度数类型; 然后输入n表示数组长度。 第三行输入n个数据依次输入t个实例输出每行输出一个结果样例输入4I 1015 3 51 27 9 35 78 14 65 8D 3-11.3 25.42 13.2C 6a b g e u qS 4sand.原创 2021-09-22 00:05:36 · 647 阅读 · 0 评论 -
三数论大小(指针)
题目描述输入三个整数,然后按照从大到小的顺序输出数值。要求:用三个指针分别指向这三个整数,排序过程必须通过这三个指针来操作,不能直接访问这三个整数输出时,必须使用这三个指针,不能使用存储三个整数的变量输入第一行输入t表示有t个测试实例第二行起,每行输入三个整数输入t行输出每行按照从大到小的顺序输出每个实例在每行中,每个数据输出后都带有一个空格,即使该行最后一个数据输出后也要再输出一个空格样例输入32 4 688 99 77111 333 222样例输出6 4 299 8.原创 2021-09-19 17:28:10 · 176 阅读 · 0 评论 -
超重青蛙
题目描述在青蛙王国,每个青蛙有着不同的体重。给出一组青蛙的体重,计算里面超出平均体重的青蛙数量。输入第一行输入参数T,表示有T个测试实例第二行输入参数n,表示这一组青蛙的数量,第三行输入n个青蛙的体重以此类推输出输出每一组青蛙中,超出平均体重的青蛙数量。样例输入231 2 3410 20 30 40样例输出12#include <iostream>using namespace std;int main(){ int K; cin .原创 2021-09-18 23:14:07 · 918 阅读 · 0 评论 -
C++基础
1. C和C++的区别和联系: C是⾯向过程的语⾔; C++是一个多泛型的编程语言,既是面向过程语言,也是面向对象语言; C++不完全兼容C语言; C++引⼊new/delete 运算符,取代了C中的 malloc/free 库函数; C++引⼊引⽤和类的概念,⽽C中没有; C++引⼊函数重载载的特性,⽽C中没有; C++与C在关键字、函数默认返回值、后缀名、缺省参数、参数列表上有所区别;2. C和C++的区别和联系:...原创 2021-09-18 23:07:30 · 100 阅读 · 0 评论