PTA
我是指针q
学习永远在路上。
展开
-
PAT (Basic Level) Practice (中文)-1009
1009 说反话 (20 分)给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。输入格式:测试输入包含一个测试用例,在一行内给出总长度不超过 80 的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用 1 个空格分开,输入保证句子末尾没有多余的空格。输出格式:每个测试用例的输出占一行,输出倒序后的句子。输入样例:Hello World Here I Come输出样例:Come I Here World Hello#inclu.原创 2022-03-31 20:32:12 · 219 阅读 · 0 评论 -
PAT (Basic Level) Practice (中文)-1008
1008 数组元素循环右移问题 (20 分)一个数组A中存有N(>0)个整数,在不允许使用另外数组的前提下,将每个整数循环向右移M(≥0)个位置,即将A中的数据由(A0A1⋯AN−1)变换为(AN−M⋯AN−1A0A1⋯AN−M−1)(最后M个数循环移至最前面的M个位置)。如果需要考虑程序移动数据的次数尽量少,要如何设计移动的方法?输入格式:每个输入包含一个测试用例,第1行输入N(1≤N≤100)和M(≥0);第2行输入N个整数.原创 2022-03-31 16:26:04 · 105 阅读 · 0 评论 -
PAT (Basic Level) Practice (中文)-1006
1006 换个格式输出整数 (15 分)让我们用字母 B 来表示“百”、字母 S 表示“十”,用 12…n 来表示不为零的个位数字 n(<10),换个格式来输出任一个不超过 3 位的正整数。例如 234 应该被输出为 BBSSS1234,因为它有 2 个“百”、3 个“十”、以及个位的 4。输入格式:每个测试输入包含 1 个测试用例,给出正整数 n(<1000)。输出格式:每个测试用例的输出占一行,用规定的格式输出 n。输入样例 1:234输出样例 1:BBSSS1234.原创 2022-03-31 16:24:56 · 1274 阅读 · 0 评论 -
PAT (Basic Level) Practice (中文)-1004
1004 成绩排名 (20 分)读入 n(>0)名学生的姓名、学号、成绩,分别输出成绩最高和成绩最低学生的姓名和学号。输入格式:每个测试输入包含 1 个测试用例,格式为第 1 行:正整数 n第 2 行:第 1 个学生的姓名 学号 成绩第 3 行:第 2 个学生的姓名 学号 成绩… … …第 n+1 行:第 n 个学生的姓名 学号 成绩其中姓名和学号均为不超过 10 个字符的字符串,成绩为 0 到 100 之间的一个整数,这里保证在一组测试用例中没有两个学生的成绩是相同的。输出格.原创 2022-03-31 16:22:51 · 125 阅读 · 0 评论 -
PAT (Basic Level) Practice (中文)-1002
读入一个正整数 n,计算其各位数字之和,用汉语拼音写出和的每一位数字。原创 2022-03-31 16:21:11 · 123 阅读 · 0 评论 -
PTA 异常与输入输出
下面程序定义栈类模板StackTemplate,创建栈对象存储斐波那契数列的前10项数值,并以后进先出的方式取出元素并输出,输出结果为:55 34 21 13 8 5 3 2 1 1。其中void push(const T& i)函数为添加元素、T pop()函数为取出栈顶元素,int fibonacci(int n)函数为计算斐波那契数列的第n项值。在计算斐波那契数列值、添加元素和取出...原创 2020-05-08 17:16:07 · 2570 阅读 · 2 评论 -
7-2 利用类模板,定义数组类,快速排序
定义一个类模板:templateclass Array{……};具有对数组元素进行排序和求和的功能。在主函数中,从键盘读入若干int型、double型和char型数据,分别对整型数组、双精度数组和字符数组完成所要求的操作。输入格式:每行为一个操作,每行的第一个数字为元素类型,1为int元素,2为double元素,3为char类型。若为int型元素,接着输入int数据,若为dou...原创 2020-04-18 21:40:07 · 2418 阅读 · 0 评论 -
PTA 7-2 利用类模板,定义数组类,冒泡排序
定义一个类模板:templateclass Array{……};具有对数组元素进行排序和求和的功能。在主函数中,从键盘读入若干int型、double型和char型数据,分别对整型数组、双精度数组和字符数组完成所要求的操作。输入格式:每行为一个操作,每行的第一个数字为元素类型,1为int元素,2为double元素,3为char类型。若为int型元素,接着输入int数据,若为dou...原创 2020-04-18 21:27:38 · 974 阅读 · 0 评论 -
PTA 7-1 数据的间距问题
复数类Complex有两个数据成员:a和b, 分别代表复数的实部和虚部,并有若干构造函数和一个重载-(减号,用于计算两个复数的距离)的成员函数。 要求设计一个函数模板template < class T >double dist(T a, T b)对int,float,Complex或者其他类型的数据,返回两个数据的间距。以上类名和函数模板的形式,均须按照题目要求,不得修改...原创 2020-04-17 15:15:12 · 1656 阅读 · 0 评论 -
PTA 7-3 利用虚函数求N个图形的表面积和体积
定义抽象类Container,由它派生出3个派生类:Sphere(球体)、Cylinder(圆柱体)、Cube(正方体),用虚函数分别计算几种图形的表面积和体积。const double PI=3.1415926;class Container{public:virtual double surface_area()=0; //纯虚函数surface_area,计算图形的表面积v...原创 2020-04-13 13:56:04 · 1594 阅读 · 0 评论 -
PTA 7-7 利用函数模板,求若个类型数中的最大值
要求设计一个函数模板:templateT Max(T x[],int len)可以对int、float、Time(时间类)和Date(日期类)或其他基本类型的数据求最大值。 主函数有如下数据成员: int intArray[100]; double douArray[100]; Time timeArray[100]; date dateArray[100]; 【提示】:定义时间类:Ti...原创 2020-04-10 18:44:17 · 2382 阅读 · 0 评论 -
PTA 7-6 2017final函数模板
数据的间距问题(函数模板) 类point有三个数据成员:x、y和z, 分别代表x坐标、y坐标和z坐标,并有若干构造函数和一个重载-(减号,计算两点距离)的成员函数。 要求设计一个函数模板,template < class T> double dist(T a, T b)对int,float,point或者其他类型的数据,返回间距。输入格式:每一行为一个操作,每行的第一个数字...原创 2020-04-10 15:55:08 · 1637 阅读 · 0 评论 -
PTA 7-2 复数与基本类型的加减运算
定义复数类Complex,并重载运算符:+、-,实现一个整数与复数类对象的加减运算。定义成员函数print,调用该函数时,以格式“(real,imag)”输出当前对象的实部和虚部,例如:对象的实部和虚部分别是4.2和6.5,则调用print函数输出格式为:(4.2,6.5)。主函数已给出,根据提示完成程序设计。int main(){double r, m;cin >> r ...原创 2020-04-03 15:52:33 · 1951 阅读 · 0 评论 -
PTA 7-1 两个时间相加
时间类Time的参考框架如下,通过重载操作符“+”实现两个时间的相加,要求将小时范围限制在023时,分钟范围限制在059分,秒钟范围限制在0~59秒。设计主程序,读入两个时间,对时间的合法性进行判断,若时间不合法,则输出“Time Error!”,若时间值合法,则进行两个时间的相加,并将结果以:“小时:分钟:秒”的格式进行输出。class Time{public:Time(int h=...原创 2020-04-03 15:23:22 · 876 阅读 · 0 评论 -
PTA 7-5 时间换算(运算符重载)
定义一个时间类Time,内有私有数据成员:hour,minute,second,另有成员函数:构造函数用于初始化数据成员,输出函数,运算符重载+(加号),。编写主函数:创建时间对象,再输入秒数 n,通过运算符重载+(加号),计算该时间再过 n 秒后的时间值,时间的表示形式为:时:分:秒,超过 24 时从 0 时重新开始计时。 测试输入包含若干测试用例,每个测试用例占一行。当读入0 0 0 0时输...原创 2020-03-28 18:26:22 · 3717 阅读 · 0 评论 -
PTA 7-4 分钟秒钟的时间相减
题目描述: 定义一个时间类,分钟和秒钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少秒钟。说明:这两个时间在同一小时之内,且采用60分钟60秒钟的计时分式,即从00:00-59:59。输入格式: 测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数,每个数之间用空格间隔,每个数都由两位数字组成,第...原创 2020-03-27 17:04:02 · 2597 阅读 · 1 评论 -
PTA 7-3 计算时间相减
题目描述:定义一个时间类,小时和分钟是其两个私有成员数据。输入一个起始时间和一个结束时间(起始时间早于结束时间),通过运算符重载-(减号),计算这两个时间相隔多少分钟。说明:这两个时间在同一天之内,且采用24小时计时分式,即从00:00-23:59。输入格式: 测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数,用空格间隔,每个数都是由两位数字组成,第一个数和第二个数分别表...原创 2020-03-27 16:59:42 · 2811 阅读 · 0 评论 -
PTA 7-2 复数计算
定义复数类Complex,并重载运算符:+、-、-=,使复数类对象完成相应的运算。 根据以下代码段,完善??处的内容及程序内容,以实现规定的输出。class Complex{public:Complex(double r=0, double i=0):real®, imag(i){ }Complex operator+( ?? ) ; //重载双目运算符’+...原创 2020-03-27 16:18:22 · 1980 阅读 · 0 评论 -
PTA 7-1 复数的比较
题目描述:建立一个复数类,实数和虚数是其私有数据成员。建立一个>(大于号)的运算符重载,比较两个复数间模的大小。输入格式:测试输入包含若干测试用例,每个测试用例占一行。每个测试用例包括四个数字,前两个数字分别表示第一个复数的实部和虚部,第三个和第四个数字分别表示第二个复数的实部和虚部。每个数字之间用空格间隔。当读入一个测试用例是0 0 0 0时输入结束,相应的结果不要输出。输出格式:...原创 2020-03-27 15:33:16 · 2641 阅读 · 0 评论 -
PTA 7-2 日程安排(多重继承+重载)
已有一个日期类Date,包括三个protected成员数据int year;int month;int day;另有一个时间类Time,包括三个protected成员数据int hour;int minute;int second;现需根据输入的日程的日期时间,安排前后顺序,为此以Date类和Time类为基类,建立一个日程类Schedule,包括以下新增成员:int ID;/...原创 2020-03-26 23:33:36 · 3413 阅读 · 0 评论 -
PTA 7-5 两点间距离计算
给出下面的一个基类框架:class Point_1D{ protected:float x;//1D 点的x坐标public:Point_1D(float p = 0.0);float distance(const Point_1D & p2);}以Point_1D为基类建立一个派生类Point_2D,增加一个保护数据成员:float y;//2D平面上点的y坐标以...原创 2020-03-26 11:25:31 · 3631 阅读 · 3 评论 -
PTA 7-4 点到原点的距离(继承)
给出下面的一个基类框架:class Point_1D{ protected:float x;//1D 点的x坐标public:Point_1D(float p = 0.0);float distance( );//计算当前点到原点的距离}以Point_1D为基类建立一个派生类Point_2D,增加一个保护数据成员:float y;//2D平面上点的y坐标以Point_2D为...原创 2020-03-26 00:41:01 · 720 阅读 · 0 评论 -
PTA 7-3 动物世界
补充程序 :1、实现Mammal类的方法2、由Mammal类派生出Dog类,在Dog类中增加itsColor成员(COLOR类型)3、Dog类中增加以下方法:constructors: Dog()、Dog(int age)、Dog(int age, int weight)、Dog(int age, COLOR color)、 Dog(int age, int weight, COLOR...原创 2020-03-25 22:48:40 · 1480 阅读 · 0 评论 -
PTA 7-1 多边形周长计算(继承)
给出下面的多边形基类框架:class polygon{ protected:int number;//边数,最多不超过100条边private:int side_length[100];//边长数组public:polygon();//构造函数根据需要重载int perimeter();//计算多边形边长void display();//输出多边形边数和周长}建立一个派生...原创 2020-03-24 23:45:43 · 4738 阅读 · 0 评论 -
PTA 6-2 写出派生类构造方法(C++)
裁判测试程序样例中展示的是一段定义基类People、派生类Student以及测试两个类的相关C++代码,其中缺失了部分代码,请补充完整,以保证测试程序正常运行。函数接口定义:提示:观察类的定义和main方法中的测试代码,补全缺失的代码。裁判测试程序样例:注意:真正的测试程序中使用的数据可能与样例测试程序中不同,但仅按照样例中的格式调用相关函数。#include using nam...原创 2020-03-24 09:16:01 · 4533 阅读 · 0 评论 -
PTA 6-1 私有继承派生类使用基类的成员函数
按要求完成下面的程序:1、定义一个Animal类,成员包括:(1)整数类型的私有数据成员m_nWeightBase,表示Animal的体重;(2)整数类型的保护数据成员m_nAgeBase,表示Animal的年龄;(3)公有函数成员set_weight,用指定形参初始化数据成员m_nWeightBase;(4)公有成员函数get_weight,返回数据成员m_nWeightBase的值...原创 2020-03-23 23:36:45 · 4490 阅读 · 0 评论 -
PTA 7-2 利用继承,求三角形及矩形面积
给出下面的基类,要求: (1)建立基类Area的俩个派生类Rectangle(矩形)与Isosceles(三角形),让每一个派生类都包含一个函数getArea(),分别用来返回矩形与三角形的面积。用构造函数对height与width进行初始化。 (2)写出主程序,从键盘读入矩形的长和宽及三角形的底和高,输出矩形及三角形的面积。Area类定义.png输入格式:一共两行,第1行为矩形的长和宽...原创 2020-03-21 17:54:59 · 985 阅读 · 0 评论 -
PTA7-1 多重继承实现Birthtime类
已有类Time和Date,要求设计一个派生类Birthtime,它继承类Time和Date,并且增加一个数据成员Childname,用于表示小孩的名字,同时设计主程序,输入2个小孩的姓名、出生日期,并将这两个小孩的姓名、出生日期输出。类定义.png输入格式:一共两行,每行为一个孩子的信息。该行分别为:姓名、年、月、日、小时、分钟、秒输出格式:小孩的姓名:出生年月,出生时间输入样例:...原创 2020-03-20 20:52:40 · 2485 阅读 · 0 评论 -
PTA 7-5 友元函数
C++考试正在进行。请设计一个学生类student,学号、本次考试成绩是其私有数据成员,同时有一个计算本次考试平均成绩的友元函数 double average(student *p,int count)以上类名和友元函数的形式,均须按照题目要求,不得修改。输入是 学号([00001,99999])和成绩,以0结束。(不超过100个学生) 输出是平均成绩。输入样例:10001 90 100...原创 2020-03-13 12:09:08 · 3147 阅读 · 1 评论 -
PTA 7-4 求N个学生的总成绩及平均分
定义一个类Student,记录学生C++课程的成绩。从键盘读入学生人数及相应的C++成绩,要求使用静态数据成员或静态成员函数计算这几名学生C++课程的总成绩和平均成绩。输入格式:第一行输入学生个数N,第2行输入N个学生的成绩,学生成绩为不超过100的整数,若成绩小于0或大于100,则该学生成绩计为0,该学生成绩不累计入总成绩及平均成绩中。输出格式: 先输出N个学生的总成绩,然后输出平均成绩...原创 2020-03-13 12:07:49 · 3349 阅读 · 3 评论 -
PTA 7-3 计算年龄问题
定义一个Birthday类,其成员变量有3个整形变量(出生的年月日):year,month,day;提供构造方法对这3个成员变量进行初始化;提供成员变量的get、set方法;成员函数有getAge(),功能是实现计算到2017年12月25日时该Birthday对象的年龄。编写程序测试这个类。输入格式: 输入出生的年、月、日(注:输入的年月日以换行隔开)输出格式: 计算得到年龄输入样例: 在...原创 2020-03-13 12:05:44 · 3014 阅读 · 1 评论 -
PTA 7-2 求两点之间距离
定义一个Point类,有两个数据成员:x和y, 分别代表x坐标和y坐标,并有若干成员函数。 定义一个函数Distance(), 用于求两点之间的距离。输入格式:输入有两行: 第一行是第一个点的x坐标和y坐标; 第二行是第二个点的x坐标和y坐标。输出格式:输出两个点之间的距离,保留两位小数。输入样例:0 9 3 -4输出样例:13.34#include<iostream>...原创 2020-03-13 12:03:28 · 3310 阅读 · 0 评论 -
PTA 7-1 设计一个矩形类Rectangle并创建测试程序(C++)
设计一个名为Rectangle的矩形类,这个类包括:两个名为width和height的double数据域,它们分别表示矩形的宽和高。width和height的默认值都为1.该类包括矩形类的无参构造函数(默认构造函数);一个width和height为指定值的矩形构造函数;一个名为getArea( )的函数返回矩形的面积;一个名为getPerimeter( )的函数返回矩形的周长。请实现这个类。编写一...原创 2020-03-13 12:01:25 · 6623 阅读 · 1 评论