C++
YYN-123
活泼可爱,自律向上
展开
-
3756. 筛选链表
一个单链表中有 m 个结点,每个结点上的元素的绝对值不超过 n。现在,对于链表中元素的绝对值相等的结点,仅保留第一次出现的结点而删除其余绝对值相等的结点。请输出筛选后的新链表。例如,单链表 21 -> -15 -> -15 -> -7 -> 15,在进行筛选和删除后,变为 21 -> -15 -> -7。输入样例:输入:21->-15->-15->-7->15输出:21->-15->-7数据范围1≤m≤1000,1原创 2021-07-19 20:58:42 · 134 阅读 · 0 评论 -
R6-3 Tree类的构造函数和成员函数 (10 分)
定义一个Tree(树)类,有成员ages(树龄),不带参数的构造函数对ages初始化为1,成员函数grow(int years)对ages加上years,age()显示tree对象的ages的值。Tree类声明如下:class Tree {public: Tree();//构造函数 void grow(int years);//对数龄ages加上years void age();//显示数龄ages的值private: int ages;//树龄};请实现Tre原创 2021-07-05 21:15:16 · 292 阅读 · 0 评论 -
R6-4 计算圆柱体的表面积(函数名隐藏) (6 分)
Cylinder类是Circle类的派生类,在下面的程序中计算并输出了圆柱体的表面积。请阅读理解下面的程序。将下面的Cylinder类补充完整后提交。Cylinder类的定义:class Cylinder :public Circle{ double height; public:......};你提交的Cylinder类的定义将嵌入到下面的程序中:#include <iostream>using namespace std;cons原创 2021-07-05 21:14:36 · 365 阅读 · 0 评论 -
6-2 Max函数模板 (10 分)
创建一个函数模板Max( ),该模板返回两个参数中的最大值,例如:Max(3,4)返回4Max(‘c’,‘a’)返回’c’裁判测试程序样例:#include <iostream>#include <string>using namespace std;//你提交的代码将被嵌入到这里 int main( ){ int m,n; char c,d; string s1,s2; cin>>m>>n; cin>>c原创 2021-07-05 21:13:33 · 719 阅读 · 0 评论 -
6-3 创建函数模板实现求数组中的最小元素 (10 分)
创建一个函数模板实现求数组中的最小元素,在主函数将分别使用该模板求整形数组和double型数组中的最小元素并输出。输入:6 (整型数组中的元素个数)8 3 4 1 6 9 (整型数组中的元素)5 (双精度浮点数数组中的元素个数)2.7 3.1 9.8 5.3 7.6 (双精度浮点数数组中的元素)输出:12.7函数模板接口定义:T Min(T *p, int len)其中 p 和 len 都是用户传入的参数。 p 是数组元素的起始地址; len 是数组的长度。裁判测试程序原创 2021-07-05 21:13:07 · 169 阅读 · 0 评论 -
6-3 创建函数模板实现求数组中的最小元素 (10 分)
6-3 创建函数模板实现求数组中的最小元素 (10 分)创建一个函数模板实现求数组中的最小元素,在主函数将分别使用该模板求整形数组和double型数组中的最小元素并输出。输入:6 (整型数组中的元素个数)8 3 4 1 6 9 (整型数组中的元素)5 (双精度浮点数数组中的元素个数)2.7 3.1 9.8 5.3 7.6 (双精度浮点数数组中的元素)输出:12.7函数模板接口定义:T Min(T *p, int len)其中 p 和 len 都是用户传入的参数。 p原创 2021-07-05 21:13:53 · 386 阅读 · 0 评论 -
R6-6 函数重载实现两数相加 (10 分)
R6-6 函数重载实现两数相加 (10 分)设计一个重载函数add,该函数有两个参数,可以实现两个类型相同的参数相加的操作,函数返回相加的结果。两个参数可以是整数、实数和字符串,但必须保证两个参数类型相同。裁判测试程序样例:#include <iostream>#include <string>#include <iomanip>using namespace std;/* 请在这里填写答案 */int main(){ int a, b;原创 2021-07-05 21:15:34 · 2167 阅读 · 0 评论 -
R6-5 使用成员函数重载复数类的运算符+ (10 分)
类Complex声明了一个复数类,有两个数据成员realPart(代表复数的实部)和imgPart(代表复数的虚部),并定义了成员函数实现了重载运算符“+”以实现两个复数对象的相加操作。成员函数Show用来输出复数的实部和虚部。请完成对运算符“+”的重载操作。函数接口定义:Complex& Complex::operator+(Complex& com);参数com为复数类Complex的对象的引用,函数的返回值为当前对象与com对象相加后的值。裁判测试程序样例:#include原创 2021-07-04 21:25:57 · 581 阅读 · 0 评论 -
6-3 虚函数的应用 (15 分)
补充下列代码,使得程序的输出为:A:3A:15B:53155类和函数接口定义:参见裁判测试程序样例中的类和函数接口。裁判测试程序样例:#include <iostream>using namespace std;class CMyClassA { int val;public: CMyClassA(int); void virtual print();};CMyClassA::CMyClassA(int arg) { val = a原创 2021-07-04 20:19:52 · 574 阅读 · 1 评论 -
6-2 抽象类Shape (10 分)
6-2 抽象类Shape (10 分)请编写一个抽象类Shape,包括两个纯虚函数,分别为计算面积getArea()和计算周长getPerim()。通过Shape类派生出矩形类Rectangle和圆类Circle,并计算各自的面积和周长。测试用例具体要求:输入1表示测试矩形类,之后输入矩形长和宽。输入2表示测试圆类,之后输入圆半径。Shape类定义如下:class Shape { public: virtual double getArea()=0; virt原创 2021-07-04 20:10:30 · 1386 阅读 · 0 评论 -
6-4 复数类重载加法、减法和乘法运算符 (10 分)
以下定义了一个复数类及其部分实现,现要求将类的构造函数以及运算符+、- 和 * 函数重载补充完整。复数类定义:在这里描述复数类定义。具体如下:class complex { public: complex(float r=0,float i=0); // 构造函数 complex operator+(const complex &op2) const; //重载运算符 + complex oper原创 2021-07-04 19:23:17 · 3767 阅读 · 0 评论 -
6-3 重载下标运算符[ ]
这段程序实现了安全数组。 请认真阅读程序并补全程序使之能正确执行。裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include <iostream>#include <cstdlib>using namespace std;const int SIZE = 3;class atype { int a[SIZE];public: atype( ) { register int i; for(i=0; i<原创 2021-07-04 19:03:37 · 450 阅读 · 0 评论 -
6-1 使用成员函数重载复数类的运算符+ (5 分)
类Complex声明了一个复数类,有两个数据成员realPart(代表复数的实部)和imgPart(代表复数的虚部),并定义了成员函数实现了重载运算符“+”以实现两个复数对象的相加操作。成员函数Show用来输出复数的实部和虚部。请完成对运算符“+”的重载操作。函数接口定义:Complex& Complex::operator+(Complex& com);参数com为复数类Complex的对象的引用,函数的返回值为当前对象与com对象相加后的值。裁判测试程序样例:#include原创 2021-07-04 10:57:29 · 1510 阅读 · 0 评论 -
R7-1 从身份证号码中提取出出生年月 (10 分)
输入一个18位的身份证号码,提取出年份和月份并输出,请判断输入的号码是否是18位,如果不是请提示"Invalid data,input again!",并重新输入新的号码。输入格式:输入一个18位的身份证号码。输出格式:在一行中输出出生年和月份,中间用逗号分隔,最后换行。输入样例1:370303200008161771输出样例1:2000,08输入样例2:37030320012311771370303200712311771输出样例2:Invalid data,input a原创 2021-07-04 10:19:41 · 1228 阅读 · 0 评论 -
6-3 StaffAndSaleManager (20 分)
根据主函数写出类。sdf.png设计图示中的4个类,其中:Staff类包含的数据成员有编号(num),姓名(Name),基本工资(BasicSale)。Saleman类包含的数据成员个人有销售额(personAmount),在Manager类中包含的数据成员有销售总额(tatalAmount)。在SaleManager中不包含其他数据成员。构造SaleManager类的一个实例,并通过该实例调用其成员show()显示其继承自基类和自身的所有属性信息。函数接口定义:无无。裁判测试程序样例:在这原创 2021-07-04 10:18:06 · 628 阅读 · 0 评论 -
6-2 从shape类派生出一个正n边形 (10 分)
在一个正n边形(Regular Polygon)中,所有边的边长都相等,且所有角的度数相同(即这个多边形是等边、等角的)。请从下列的抽象类shape类扩展出一个正n边形类RegularPolygon,这个类将正n边形的边数n和边长s作为私有成员,类中包含初始化边数n和边长s的构造函数。class shape {// 形状类public: double getArea() // 求面积 {return -1;} double getPerimeter() // 求周长 {return -1;}原创 2021-07-03 22:11:00 · 2464 阅读 · 0 评论 -
6-3 写出派生类构造方法(C++)
裁判测试程序样例中展示的是一段定义基类People、派生类Student以及测试两个类的相关C++代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。函数接口定义:提示:观察类的定义和main方法中的测试代码,补全缺失的代码。`裁判测试程序样例:**注意:**真正的测试程序中使用的数据可能与样例测试程序中不同,但仅按照样例中的格式调用相关函数。#include <iostream>using namespace std;class People{private:原创 2021-07-03 21:21:10 · 956 阅读 · 0 评论 -
6-4 计算圆柱体的表面积(函数名隐藏)
6-4 计算圆柱体的表面积(函数名隐藏) (6 分)Cylinder类是Circle类的派生类,在下面的程序中计算并输出了圆柱体的表面积。请阅读理解下面的程序。将下面的Cylinder类补充完整后提交。Cylinder类的定义:class Cylinder :public Circle{ double height; public:......};你提交的Cylinder类的定义将嵌入到下面的程序中:#include <iostream>原创 2021-07-03 21:19:16 · 688 阅读 · 0 评论 -
6-2 求平面几何形状的面积(圆形和矩形)C++ (5 分)
下列shape类是一个表示形状的基类,该类有一个计算形状面积的方法area( )。请以形状类"Shape"为基类派生出圆形类"Circle"和矩形类"Rectangle",要求保持求面积的接口不变。从键盘输入圆形的半径和矩形的长和宽,在主函数中创建一个圆形类"Circle"的对象和一个矩形类"Rectangle"的对象,计算并输出这个圆形和矩形的面积。圆周率PI=3.14class shape{public:double area( ){ }};圆形类名:Circle 注意:圆周率PI原创 2021-07-03 20:13:52 · 957 阅读 · 0 评论 -
7-3 对字符串进行排序输出 (10 分)
给定一个字符串,对该字符串进行排序,请输出排好序的字符串。要求能够连续输入输出的字符串。###输入格式:在一行输入一个字符串###输出格式:输出排好序的字符串的序列###输入样例:fecbad###输出样例:abcdef###代码#include<iostream>#include<string>#include<algorithm>using namespace std;int main(){ string str; get原创 2021-07-03 17:10:25 · 589 阅读 · 0 评论 -
7-2 验证手机号码(C++ Java)
7-2 验证手机号码(C++ Java) (10 分)某系统在新用户注册时必须输入手机号,为了提高系统效率,防止输错手机号,需要对手机号进行验证。 验证规则为: (1)长度为11位 (2)由数字0~9组成 (3)必须是1开头 以上3个条件同时满足,则验证通过,否则为不通过。输入格式:在一行中一个字符串,长度不超过50个字符。例如: 13802988920输出格式:如果验证通过则输出Yes,否则输出No。输入样例:13812345678输出样例:Yes代码#include <原创 2021-07-03 17:03:06 · 2982 阅读 · 0 评论 -
7-1 分离目录路径和文件名
输入文件目录路径和文件名,要求分离成目录路径和文件名分别输出输入格式:例如:输入c:\windows\winhelp.exe输出格式:c:\windows (目录路径)winhelp.exe (文件名)输入样例:/usr/bin/man输出样例:/usr/binman代码#include<iostream>#include<string>using namespace std;void filename(string str){ siz原创 2021-07-03 16:46:38 · 666 阅读 · 0 评论 -
7-1 求两点之间距离
定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个函数Distance(), 用于求两点之间的距离。输入格式:输入有两行: 第一行是第一个点的x坐标和y坐标; 第二行是第二个点的x坐标和y坐标。输出格式:输出两个点之间的距离,保留两位小数。输入样例:0 9 3 -4输出样例:13.34代码#include <bits/stdc++.h>using namespace std;class Point{private原创 2021-07-03 16:19:33 · 1764 阅读 · 0 评论 -
2017final友元函数之全班同学的平均绩点
一个学生类,有三个私有成员:名字name、课程学分指针score、课程成绩指针grade。定义一个友元函数,求全班同学的平均绩点。单门课程的学分绩点=学分绩点=学分(成绩/10-5) ; 全班同学的平均绩点是 所有同学的全部课程的学分绩点之和/所有同学学分数之和。单个同学的课程数不超过100门。全班同学人数不超过100名。输入说明:输入若干行。每行一个学生的信息:第一个输入是学生的名字,第二个输入是第一门课程的学分,第三个输入是第一门课程的成绩,第四个输入是第二门课程的学分,第五个输入是第二门课程的成原创 2021-07-03 13:20:31 · 4246 阅读 · 2 评论 -
7-1 字符串替换 (10 分)
将文本文件中指定的字符串替换成新字符串。 由于目前的OJ系统暂时不能支持用户读入文件,我们编写程序从键盘输入文件中的内容,当输入的一行为end时,表示结束。end后面有两个字符串,要求用第二个字符串替换文本中所有的第一个字符串。输入格式:Xi’an Institute of Posts and Telecommunications is co-designed and implemented by the People’s Government of Shaanxi Province and the M原创 2021-07-03 10:51:43 · 2057 阅读 · 1 评论 -
6-3 学生排名表(析构函数)
现在输入一批学生(人数大于0且不超过100)的名次和他们的姓名。要求按名次输出每个人的排名。输入格式:每行为一个学生的信息,共两项,第一项为排名(为正整数,且任意两名学生的排名均不同),第二项为学生姓名。当输入-1时,表示输入结束。输出格式:按名次输出学生姓名,每行一个。函数接口定义:main函数的一部分。裁判测试程序样例:#include <iostream>#include <string>using namespace std;class Student{原创 2021-06-30 11:19:11 · 435 阅读 · 0 评论 -
6-2 Point类的声明和实现
定义一个Point类,代表平面上的一个点,其横坐标和纵坐标分别用x和y表示,设计Point类的成员函数,实现并测试这个类。 主函数中输入两个点的坐标,计算并输出了两点间的距离。请根据主函数实现Point类。裁判测试程序样例:#include <iostream>#include <iomanip>#include <cmath>using namespace std;//你的代码将被嵌在这里int main(){ Point p1, p2;原创 2021-06-30 10:32:57 · 2364 阅读 · 0 评论 -
6-1 定义一个矩形类(C++构造函数) (10 分)
设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域,它们分别表示矩形的宽和高。width和height的默认值都为1.该类包括矩形类的无参构造函数(默认构造函数);一个width和height为指定值的矩形构造函数;一个名为getArea( )的函数返回矩形的面积;一个名为getPerimeter( )的函数返回矩形的周长。请实现这个类。类名为:Rectangle裁判测试程序样例:在这里给出函数被调用进行测试的例子。例如:#include &l原创 2021-06-30 10:22:09 · 3397 阅读 · 0 评论 -
6-2 Point类的声明和实现
定义一个Point类,代表平面上的一个点,其横坐标和纵坐标分别用x和y表示,设计Point类的成员函数,实现并测试这个类。 主函数中输入两个点的坐标,计算并输出了两点间的距离。请根据主函数实现Point类。裁判测试程序样例:#include <iostream>#include <iomanip>#include <cmath>using namespace std;//你的代码将被嵌在这里int main(){ Point p1, p2;原创 2021-06-30 09:14:31 · 1134 阅读 · 0 评论 -
蓝桥杯-错误票据
问题描述某涉密单位下发了某种票据,并要在年终全部收回。每张票据有唯一的ID号。全年所有票据的ID号是连续的,但ID的开始数码是随机选定的。因为工作人员疏忽,在录入ID号的时候发生了一处错误,造成了某个ID断号,另外一个ID重号。你的任务是通过编程,找出断号的ID和重号的ID。假设断号不可能发生在最大和最小号。输入格式要求程序首先输入一个整数N(N<100)表示后面数据行数。接着读入N行数据。每行数据长度不等,是用空格分开的若干个(不大于100个)正整数(不大于100000),请注意行原创 2021-03-22 08:26:06 · 298 阅读 · 0 评论 -
蓝桥杯-核桃的数量(三个数求最小公倍数)
问题描述小张是软件项目经理,他带领3个开发组。工期紧,今天都在加班呢。为鼓舞士气,小张打算给每个组发一袋核桃(据传言能补脑)。他的要求是:各组的核桃数量必须相同各组内必须能平分核桃(当然是不能打碎的)尽量提供满足1,2条件的最小数量(节约闹革命嘛)输入格式输入包含三个正整数a, b, c,表示每个组正在加班的人数,用空格分开(a,b,c<30)输出格式输出一个正整数,表示每袋核桃的数量。样例输入12 4 5样例输出120样例输入23 1 1样例输出23转载 2021-03-21 23:25:58 · 223 阅读 · 0 评论 -
蓝桥杯-成绩统计
资源限制时间限制:1.0s 内存限制:256.0MB问题描述小蓝给学生们组织了一场考试,卷面总分为 分,每个学生的得分都是一个 到 的整数。如果得分至少是 分,则称为及格。如果得分至少为 分,则称为优秀。请计算及格率和优秀率,用百分数表示,百分号前的部分四舍五入保留整数。输入格式输入的第一行包含一个整数 ,表示考试人数。接下来 行,每行包含一个 至 的整数,表示一个学生的得分。输出格式输出两行,每行一个百分数,分别表示及格率和优秀率。百分号前的部分四舍五入保留整数。原创 2021-03-20 20:58:58 · 665 阅读 · 0 评论 -
C++-求数组的最大值、最小值、求和
关于C+±求数组的最大值、最小值、求和,我最初以为只是用一个max,min就可以,没想到是max_element(),不过采用vector*同样可以#include<iostream>#include<algorithm>#include<numeric>//accumulate使用的时候需要加上 using namespace std;int n;int a[101];int main(){ cin>>n; for(int i=0;i原创 2021-03-20 16:37:30 · 2279 阅读 · 0 评论 -
十一届蓝桥杯-既约分数
试题B:既约分数题目【问题描述】如果一个分数的分子和分母的最大公约数是1,这个分数称为既约分数。例如,3/4,5/2,1/8,7/1都是既约分数。请问,有多少个既约分数,分子和分母都是1到2020之间的整数(包括1和2020)?【答案提交】这是一道结果填空题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。题解答案:2481215思路:这个题考查的是求最大公约数,对分子很分母进行循环,如果分子和分母的最大公约数为1,cnt++,输出即可代原创 2021-03-20 15:32:29 · 801 阅读 · 0 评论 -
蓝桥杯-门派制作
试题A:门牌制作题目【问题描述】小蓝要为一条街的住户制作门牌号。这条街一共有2020位住户,门牌号从1到2020编号。小蓝制作门牌的方法是先制作0到9这几个数字字符,最后根据需要将字符粘贴到门牌上,例如门牌1017需要依次粘贴字符1、0、1、7,即需要1个字符0,2个字符1,1个字符7。请问要制作所有的1到2020号门牌,总共需要多少个字符2?【答案提交】这是一道结果填空的题,你只需要算出结果后提交即可。本题的结果为一个整数,在提交答案时只填写这个整数,填写多余的内容将无法得分。题解答案:624原创 2021-03-20 15:17:11 · 277 阅读 · 0 评论 -
蓝桥杯-单词分析
问题描述小蓝正在学习一门神奇的语言,这门语言中的单词都是由小写英文字母组成,有些单词很长,远远超过正常英文单词的长度。小蓝学了很长时间也记不住一些单词,他准备不再完全记忆这些单词,而是根据单词中哪个字母出现得最多来分辨单词。现在,请你帮助小蓝,给了一个单词后,帮助他找到出现最多的字母和这个字母出现的次数。输入格式输入一行包含一个单词,单词只由小写英文字母组成。输出格式输出两行,第一行包含一个英文字母,表示单词中出现得最多的字母是哪个。如果有多个字母出现的次数相等,输出字典序最小的那个。第二行包转载 2021-03-18 23:51:53 · 197 阅读 · 0 评论 -
蓝桥杯-合根植物
问题描述 w星球的一个种植园,被分成 m * n 个小格子(东西方向m行,南北方向n列)。每个格子里种了一株合根植物。 这种植物有个特点,它的根可能会沿着南北或东西方向伸展,从而与另一个格子的植物合成为一体。如果我们告诉你哪些小格子间出现了连根现象,你能说出这个园中一共有多少株合根植物吗?输入格式 第一行,两个整数m,n,用空格分开,表示格子的行数、列数(1<m,n<1000)。 接下来一行,一个整数k,表示下面还有k行数据(0<k<100000) 接下来k行原创 2021-03-18 23:16:18 · 65 阅读 · 0 评论 -
蓝桥杯-回文数
问题描述 1221是一个非常特殊的数,它从左边读和从右边读是一样的,编程求所有这样的四位十进制数。输出格式 按从小到大的顺序输出满足条件的四位十进制数。#include<iostream>#include<cstdio>#include<algorithm>using namespace std;int main(){ for(int i=1000;i<10000;i++){ if(i/1000==i%10 && i/原创 2021-03-11 21:07:28 · 174 阅读 · 0 评论 -
蓝桥杯-杨辉三角
问题描述杨辉三角形又称 Pascal 三角形,它的第 i+1 行是 (a+b) i 的展开式的系数。它的一个重要性质是:三角形中的每个数字等于它两肩上的数字相加。 下面给出了杨辉三角形的前 4 行:CODE12341 1 11 2 11 3 3 1 给出 n,输出它的前 n 行。输入格式输入包含一个数 n。输出格式输出杨辉三角形的前 n 行。每一行从这一行的第一个数开始依次输出,中间使用一个空格分隔。请不要在前面输出多余的空格。样例输入4样例输出11 11 2原创 2021-03-11 20:33:38 · 393 阅读 · 0 评论 -
蓝桥杯-查找整数
问题描述给出n个数,找出这n个数的最大值,最小值,和。输入格式第一行为整数n,表示数的个数。第二行有n个数,为给定的n个数,每个数的绝对值都小于10000。输出格式输出三行,每行一个整数。第一行表示这些数中的最大值,第二行表示这些数中的最小值,第三行表示这些数的和。样例输入51 3 -2 4 5样例输出5-211数据规模与约定1 <= n <= 10000。#C++#include<iostream>#include<cstdio>原创 2021-03-11 19:27:18 · 218 阅读 · 0 评论