![](https://img-blog.csdnimg.cn/20210515124549523.jpg?x-oss-process=image/resize,m_fixed,h_224,w_224)
pta 编程经典题目
主要收录练习中PTA的编程题目,包括函数、编程题等。
虾滑桦虾
我承认定数,笃信所有的遇见和错过, 都自有旨趣,我提醒自己,这世上风物辽阔,日月有期,不止一恨和一爱,还有四海和四季。至于冗杂的情感,往后只奉行那一句:我真心待你,但不执着于你,活在缘分中,而非关系里。
展开
-
Java 试试多线程
题目详情:7-2 试试多线程 (25 分)编写4个线程,第一个线程从1加到25,第二个线程从26加到50,第三个线程从51加到75,第四个线程从76加到100,最后再把四个线程计算的结果相加。输入格式:无输出格式:最终结果输入样例:结尾无空行输出样例:5050结尾无空行答案代码:import java.util.*;public class Main { public static void main(String[] args) {原创 2021-11-08 19:14:56 · 555 阅读 · 5 评论 -
2种不同方式创建线程 Java
题目详情:7-1 2种不同方式创建线程 (25 分)######线程创建有两种方式,一种 继承Thread创建子类 , 形如:class sub_Thread extends Thread{…public void run() { //重写 run …}}Thread th = new sub_Thread (….);// 创建线程对象另外一种 实现Runnable, ######1.创建目标对象类:实现Runnable接口类的class target imp原创 2021-11-08 19:12:16 · 412 阅读 · 0 评论 -
多线程-Callable与斐波那契数列 Java
题目详情:6-4 jmu-Java-07多线程-Callable与斐波那契数列 (10 分)使用Callable、Future以多线程的方式求解前n项斐波那契数的和。题目内容定义CalculateTask类,实现Callable接口属性:private int n,代表要求n的斐波那契数列。无参构造函数public CalculateTask(int n),给属性n赋值。任务功能:返回n的斐波那契数值。###main方法说明:n为后面创建的任务数量。 taskList为计算斐波那契原创 2021-11-08 19:07:37 · 611 阅读 · 0 评论 -
多线程-同步访问 Java
题目详情:6-3 jmu-Java-07多线程-同步访问 (10 分)现已有Account类,拥有属性:private int balance方法:相应的getter方法。要求为该类编写:void deposit(int money)//存钱,在余额的基础上加上moneyvoid withdraw(int money)//取钱,在余额的基础上减去money注意:取钱时如果balance<0的时候,会抛出异常。在多线程情况下,如只有一个存钱的线程,但是有多个取钱的线程,很可能会..原创 2021-11-08 19:05:46 · 1565 阅读 · 0 评论 -
jmu-Java-07多线程-Runnable与匿名类
题目详情:6-1 jmu-Java-07多线程-Runnable与匿名类 (10 分)在Main方法中启动一个线程t1,该线程输出3行信息:主线程名 线程t1的线程名 线程t1所实现的所有接口。提示:使用System.out.println(Arrays.toString(getClass().getInterfaces()));输出。注:本题也可使用Lambda表达式实现。裁判测试程序:public class Main { public static void原创 2021-10-27 17:33:58 · 1156 阅读 · 0 评论 -
jmu-Java-07多线程-互斥访问
题目详情:6-2 jmu-Java-07多线程-互斥访问 (10 分)定义Account类属性:private int balance方法:getter方法void deposit(int money)//存钱,在余额的基础上加上moneyvoid withdraw(int money)//取钱,在余额的基础上减去money注意:可能有多个线程通过deposit或withdraw方法同时存取Account对象的balance属性。裁判测试程序:import java.util.S..原创 2021-10-27 17:31:43 · 2125 阅读 · 1 评论 -
HashMap应用 Java
题目详情:7-3 HashMap应用 (10 分)Map接口提供了将key映射到值得对象,用于存储键-值对,key不重复。主要解决通过key查找 value的应用,比如 通过学号查找学生信息。可以将学号key与 学生信息Student进行存储。 ######Map接口常用的实现类HashMap和TreeMap,HashMap对象 中key的存储一般是无序的,通过哈希函数进行查找对应value值。对于经常需要进行查找的数据可以采用散列映射来存储这样的数据,即为数据指定一个查找它的关键字,然后按着“健-原创 2021-10-27 16:08:41 · 845 阅读 · 0 评论 -
jmu-Java-06异常-多种类型异常的捕获
题目详情:如果try块中的代码有可能抛出多种异常,且这些异常之间可能存在继承关系,那么在捕获异常的时候需要注意捕获顺序。补全下列代码,使得程序正常运行。裁判测试程序:public static void main(String[] args) { Scanner sc = new Scanner(System.in); while (sc.hasNext()) { String choice = sc.next(); try {原创 2021-10-13 15:21:59 · 2576 阅读 · 0 评论 -
Java 检查物品是否为次品
题目详情:工厂检查产品次品的设备,如果发现是次品就发出警告。编程模拟设备发现次品过程。编写一个产品类Product,有成员变量name和isDefect(是否次品),有get和set方法。编写一个Exception的子类DefectException,该子类message属性,有构造方法DefectException() 将"次品"赋值给message成员,有toShow()方法输出message的值编写一个Machine类,该类的方法checkProduct(Product product原创 2021-10-13 15:19:15 · 475 阅读 · 0 评论 -
系统常用标准异常类 Java
题目详情:常用异常类NumberFormatException,IndexOutOfBoundsException、ArithmeticException等,本程序,建立一个Test_Exception类,里面有一个test方法,用于检测以上异常对象的发生并输出相应信息。 比如发生NumberFormatException异常,输出"数据格式异常";发生IndexOutOfBoundsException异常,输出"越界异常";发生ArithmeticException异常,输出"算术运算异常"。 ##。原创 2021-10-13 15:15:53 · 309 阅读 · 0 评论 -
浅拷贝与深拷贝问题 java
题目详情:Java中的对象拷贝(Object Copy)指的是将一个对象的所有属性(成员变量)拷贝到另一个有着相同类类型的对象中去。举例说明:比如,对象A和对象B都属于类S,具有属性a和b。那么对对象A进行拷贝操作赋值给对象B就是:B.a=A.a; B.b=A.b;浅拷贝(Shallow Copy):①对于数据类型是基本数据类型的成员变量,浅拷贝会直接进行值传递,也就是将该属性值复制一份给新的对象。因为是两份不同的数据,所以对其中一个对象的该成员变量值进行修改,不会影响另一个对象拷贝得到的数据。原创 2021-10-13 15:08:57 · 254 阅读 · 0 评论 -
Java 静态变量统计(声明书类)
1.题目详情:声明一个图书类,其数据成员为书名、编号(利用静态变量实现自动编号)、书价,并拥有静态数据成员册数,记录图书的总册数;在构造方法中,利用静态变量为对象的编号赋值,在主方法中定义对象数组(最多10个元素),并求出总册数。2.输入格式:请输入每本图书对应的书名,书价(最多10本)3.输出格式:请输出每本图书对应的书名,书号,书价以及总图书数。4.输入样例:在这里给出一组输入(以空格分隔)。例如:Java程序设计 34.5数据结构 44.8C++程序设计 35.0原创 2021-09-21 14:36:07 · 1312 阅读 · 0 评论 -
重写父类方法equals Java
1.题目详情:重写父类方法equals (20 分)在类Student中重写Object类的equals方法。使Student对象学号(id)相同时判定为同一对象。2.函数接口定义:在类Student中重写Object类的equals方法。使Student对象学号(id)相同时判定为同一对象。3.裁判测试程序样例:import java.util.Scanner;class Student { int id; String name; int a.原创 2021-09-15 16:00:26 · 2424 阅读 · 0 评论 -
7-7 二进制的前导的零 Java
1.题目详情:计算机内部用二进制来表达所有的值。一个十进制的数字,比如24,在一个32位的计算机内部被表达为00000000000000000000000000011000。可以看到,从左边数过来,在第一个1之前,有27个0。我们把这些0称作前导的零。现在,你的任务是写一个程序,输入一个整数,输出在32位表达下它前导的零的个数。2.输入格式:一个整数,在32位的整数可以表达的范围内。3.输出格式:一个整数,表达输入被表达为一个32位的二进制数时,在第一个1之前的0的数量。4.输入原创 2021-09-14 22:17:45 · 1007 阅读 · 0 评论 -
7-5 字符串操作
1.题目详情:给定一个字符串。请去除串中的数字并反转。2.输入格式:原始串。3.输出格式:去除数字后的反转字符串。4.输入样例:在这里给出一组输入。例如:he11ll00o w0or8ld!结尾无空行5.输出样例:在这里给出相应的输出。例如:!dlrow olleh结尾无空行6.答案代码:import java.util.ArrayList;import java.util.Scanner;public class Main { pu原创 2021-09-14 22:12:51 · 1183 阅读 · 0 评论 -
7-4 判断回文 Java
1.题目详情:用户从键盘输入一个整数,程序将判断这个数是几位数并输出其位数,并判断这个数是否是回文数,是则输出Y,否则输出N。回文数是指将该数含有的数字逆序排列后得到的数和原数相同,例如12121、3223都是回文数。2.输入格式:整数3.输出格式:几位数 是否是回文数4.输入样例:在这里给出一组输入。例如:12121结尾无空行5.输出样例:在这里给出相应的输出。例如:5Y结尾无空行6.答案代码:import java.util.Scann原创 2021-09-14 21:54:22 · 1995 阅读 · 0 评论 -
求一个二维数组中每行的最大值和每行的和 Java
1.题目详情:以下程序的功能是求一个二维数组中每行的最大值和每行的和。2.输入样例3 1 2 3 6 5 4 7 9 83.输出样例1 2 3 3 66 5 4 6 157 9 8 9 244.答案代码:import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner sc=new Scann.原创 2021-09-14 21:49:28 · 6039 阅读 · 0 评论 -
Java sdut-最大公约数和最小公倍数
1.题目详情给定2个正整数,求它们的最大公约数和最小公倍数,并输出。输入格式:输入有若干组。每组数据,在一行中给出两个正整数M和N(≤1000),中间有1个空格。输出格式:对于每组输入,在一行中顺序输出M和N的最大公约数和最小公倍数,两数字间以1个空格分隔。输入样例:18 1220 1539 265 7645 251993 343结尾无空行输出样例:在这里给出相应的输出。例如:6 365 6013 781 3805 2251 68359原创 2021-09-04 23:29:12 · 4205 阅读 · 7 评论 -
Java N个数的排序与查
1.题目详情从键盘输入N个整数,并输出指定的某个整数在这N个整数中的按照由小到大的顺序排列的位次(最小的位次是1,最大的位次是N,指定的整数如果不在这N个数中,则其位次是-1)输入格式:整数个数,指定的整数值输出格式:指定的整数的位次输入样例:在这里给出一组输入。例如:312 4 74结尾无空行输出样例:在这里给出相应的输出。例如:1结尾无空行2.答案代码import java.io.*;import java.util.*;publ原创 2021-09-04 23:22:09 · 1735 阅读 · 0 评论 -
Java中二进制位运算
1.题目详情本题目要求读入2个整数和一个字符,然后根据这个字符值,对两个整数进行相应的二进制位的运算。要求必须使用switch选择结构。(1)如果字符是&,则两个整数进行二进制位的与运算;(2)如果字符是 |,则两个整数进行二进制位的或运算;(3)如果字符是^,则两个整数进行二进制位异或运算;(4)如果是其他字符,则固定输出信息:ERROR输入格式:在一行中依次输入整数1,字符,整数2。输出格式:类似3 & 4 = 0其中,运算符号&的前后都有原创 2021-09-04 23:18:30 · 1938 阅读 · 0 评论 -
java sdut-sel-2 汽车超速罚款(选择结构)
1.题目详情许多社区都有“雷达”标志,告诉司机他们的速度是多少,希望他们能够慢下来。你将输出一个“雷达”标志的信息,根据司机驾驶车速的情况向他(她)显示信息。2.输入格式:在一行内输入2个整数。第一个表示速度的限制,第二个表示司机的开车速度。3.输出格式:如果司机没有超速,输出应该是:Congratulations, you are within the speed limit!如果司机超速行驶,输出为:You are speeding and your fine is F.(原创 2021-09-04 23:09:20 · 4333 阅读 · 1 评论 -
6-2 带头结点的有序单链表插入及删除 (15 分)
题目详情:6-2 带头结点的有序单链表插入及删除 (15 分)请编写函数实现在带头结点的单链表中进行有序插入和删除操作。程序运行时,第一行输入元素个数,第二行依次输入各个待插入元素值,第三行输出创建的有序链表中各元素的值;第四行输入删除元素值,第五行输出删除指定元素后表中剩余元素值。函数接口定义:void LPrint(LinkList L);LinkList LInsert(LinkList L, int a); LinkList LDelete(LinkList L, int转载 2021-06-19 17:53:13 · 1115 阅读 · 0 评论 -
6-1 循环队列出队入队 (15 分)
6-1 循环队列出队入队 (15 分)用一个数组表示循环队列,请编写算法实现循环队列的初始化、入队和出队操作。输入时:第一行输入队列数据空间容量,第二行依次输入5个待插入元素值,第三行再依次输入5个待插入元素值。 输出时:第一行和最后一行输出循环队列元素值及其下标(元素值(下标)),若中途出现队空或队满,则应给出相应提示。函数接口定义:void InitQ(SqQueue &Q,int N);void AddQ(SqQueue &Q, int x );Status De原创 2021-06-19 17:49:41 · 3988 阅读 · 1 评论 -
7-1 计算平方根的值 (15 分)
题目详情:7-1 计算平方根的值 (15 分)用户输入a,b,c三个整数值,编程计算如下表达式的值。请打印出x的值(保留两位小数)。如果计算结果不符合数学规则,请打印出“No result”输入格式:用户在一行输入a、b、c三个整数,数字之间用一个空格分开。输出格式:带两位小数点的计算结果,四舍五入。输入样例:2 3 1输出样例:1.00输入样例:3 3 1输出样例:No result...原创 2021-06-14 23:15:28 · 170 阅读 · 0 评论 -
6-1 调用函数打印闰年 (15 分)
6-1 调用函数打印闰年 (15 分)用户输入两个年份值(m,n),输入一定满足999<m<n<5001。请编写两个函数计算m,n之间所有的闰年(包含m,n年)并输出。务必注意:在代码编写框,只需要写你要编写的两个函数,不要写多余的代码。函数接口定义://在rangeyear函数中调用此函数判断是否是闰年int leapyear(int year);//此函数接收主函数传的年份范围,并调用leapyear函数判读是否是闰年,并打印闰年void rangeye...原创 2021-06-14 23:12:02 · 781 阅读 · 1 评论 -
6-3 求采用邻接矩阵作为存储结构的无向图各顶点的度 (6 分)
t6-3 求采用邻接矩阵作为存储结构的无向图各顶点的度 (6 分)本题要求实现一个函数,输出无向图每个顶点的数据元素的值,以及每个顶点度的值。函数接口定义:函数接口为:void degree(MGraph G);G为采用邻接矩阵作为存储结构的无向图。裁判测试程序样例:#include <stdio.h>#define MVNum 100 //最大顶点数 typedef struct{ char vexs[MVNum];.原创 2021-06-01 22:47:50 · 5752 阅读 · 0 评论 -
6-2 求采用邻接矩阵作为存储结构的有向图各顶点的入度
6-2 求采用邻接矩阵作为存储结构的有向图各顶点的入度 (6 分)本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的入度的值。函数接口定义:函数接口为:void indegree(MGraph G);G为采用邻接矩阵作为存储结构的有向图。裁判测试程序样例:#include <stdio.h>#define MVNum 100 //最大顶点数 typedef struct{ char vexs[MVN...原创 2021-06-01 22:20:56 · 5161 阅读 · 0 评论 -
采用邻接矩阵作为存储结构的有向图各顶点的出度
6-1 求采用邻接矩阵作为存储结构的有向图各顶点的出度 (6 分)本题要求实现一个函数,输出有向图每个顶点的数据元素的值,以及每个顶点的出度的值。函数接口定义:函数接口为:void outdegree(MGraph G);G为采用邻接矩阵作为存储结构的有向图。裁判测试程序样例:#include <stdio.h>#define MVNum 100 //最大顶点数 typedef struct{ char vexs[MVNum转载 2021-05-29 22:56:33 · 1759 阅读 · 1 评论 -
5-3 邻接表表示法创建无向图
题目详情:答案完整代码:#include <iostream>using namespace std;#define MVNum 100 #define OK 1typedef char VerTexType; typedef int OtherInfo; typedef struct ArcNode{ .原创 2021-05-29 22:49:03 · 329 阅读 · 0 评论 -
5-2 建立一个无向图,采用领接表做存储结构。(邻接矩阵)
题目详情:答案完整代码:#include <stdio.h>#include <stdlib.h>#define MVNum 100 //最大顶点数 typedef struct ArcNode{ //表结点 int adjvex; //邻接点的位置 struct .原创 2021-05-29 22:21:06 · 5578 阅读 · 0 评论 -
创建哈夫曼树
题目详情:完整代码:// 构造赫夫曼树#include <iostream>using namespace std;//哈夫曼树的存储表示typedef struct{ int weight; //节点的权值 int parent, lchild, rchild; } HTNode, *HuffmanTree;//查处权值最小且双亲为0的2的节点void Select(HuffmanTree HT, int转载 2021-05-24 11:44:44 · 296 阅读 · 1 评论 -
6-2 二叉树的遍历 (25 分)【实验三:二叉树的构造和遍历】
6-2 二叉树的遍历 (25 分)本题要求给定二叉树的4种遍历。函数接口定义:void InorderTraversal( BinTree BT );void PreorderTraversal( BinTree BT );void PostorderTraversal( BinTree BT );void LevelorderTraversal( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;type原创 2021-05-21 10:45:39 · 619 阅读 · 0 评论 -
6-1 求二叉树高度 (25 分)【实验三:二叉树的构造和遍历】
6-1 求二叉树高度 (25 分)本题要求给定二叉树的高度。函数接口定义:int GetHeight( BinTree BT );其中BinTree结构定义如下:typedef struct TNode *Position;typedef Position BinTree;struct TNode{ ElementType Data; BinTree Left; BinTree Right;};要求函数返回给定二叉树BT的高度值。裁判测试程序样例原创 2021-05-21 10:16:45 · 436 阅读 · 0 评论 -
7-5 堆栈模拟队列 (17 分)
7-5 堆栈模拟队列 (17 分)设已知有两个堆栈S1和S2,请用这两个堆栈模拟出一个队列Q。所谓用堆栈模拟队列,实际上就是通过调用堆栈的下列操作函数:int IsFull(Stack S):判断堆栈S是否已满,返回1或0; int IsEmpty (Stack S ):判断堆栈S是否为空,返回1或0; void Push(Stack S, ElementType item ):将元素item压入堆栈S; ElementType Pop(Stack S ):删除并返回S的栈顶元素。实现队原创 2021-05-15 12:31:40 · 472 阅读 · 0 评论 -
7-3 表达式求值_1 (20 分) 数据结构实验二:特殊线性表的应用
7-3 表达式求值_1 (20 分)在一个表达式中,只有“(”,“)”,“0-9”,“+”,“-”,“*”,“/”,“^”,请求出表达式的值。(“/”用整数除法)。输入格式:共1 行,为一个算式。 (算式长度<=30 其中所有数据在 0~2^31-1的范围内)。输出格式:共一行,为表达式的值。输入样例:在这里给出一组输入。例如:1+(3+2)*(7^2+6*9)/(2)输出样例:在这里给出相应的输出。例如:258答案代码:#include<原创 2021-05-15 12:28:09 · 2319 阅读 · 0 评论 -
7-2 括号匹配 (11 分) 数据结构实验二:特殊线性表的应用
7-2 括号匹配 (11 分)给定一串字符,不超过100个字符,可能包括括号、数字、字母、标点符号、空格,编程检查这一串字符中的( ) ,[ ],{ }是否匹配。输入格式:输入在一行中给出一行字符串,不超过100个字符,可能包括括号、数字、字母、标点符号、空格。输出格式:如果括号配对,输出yes,否则输出no。输入样例1:sin(10+20)输出样例1:yes输入样例2:{[}]输出样例2:no答案代码:#include<stdio原创 2021-05-15 12:22:57 · 2050 阅读 · 0 评论 -
6-2 十进制转二进制(顺序栈设计和应用) (7 分)
6-2 十进制转二进制(顺序栈设计和应用) (7 分)设计一个顺序栈,并利用该顺序栈将给定的十进制整整数转换为二进制并输出。函数接口定义:#define MaxSize 100 /* 栈最大容量 */int top; /* 栈顶指针 */int mystack[MaxSize]; /* 顺序栈 *//*判栈是否为空,空返回true,非空返回false */bool isEmpty();/* 元素x入栈 */void Push(int x);/* 取原创 2021-05-15 12:19:05 · 2793 阅读 · 0 评论 -
6-1 另类堆栈 (7 分)
6-1 另类堆栈 (7 分)在栈的顺序存储实现中,另有一种方法是将Top定义为栈顶的上一个位置。请编写程序实现这种定义下堆栈的入栈、出栈操作。如何判断堆栈为空或者满?函数接口定义:bool Push( Stack S, ElementType X );ElementType Pop( Stack S );其中Stack结构定义如下:typedef int Position;typedef struct SNode *PtrToSNode;struct SNode { E原创 2021-05-15 12:15:44 · 2182 阅读 · 0 评论 -
7-1 一元多项式求导 (15 分)
7-1 一元多项式求导 (15 分)设计函数求一元多项式的导数。输入格式:以指数递降方式输入多项式非零项系数和指数(绝对值均为不超过1000的整数)。数字间以空格分隔。输出格式:以与输入相同的格式输出导数多项式非零项的系数和指数。数字间以空格分隔,但结尾不能有多余空格。输入样例:3 4 -5 2 6 1 -2 0输出样例:12 3 -10 1 6 0答案代码:#include<stdio.h>typedef struct num{ i原创 2021-05-05 13:36:54 · 288 阅读 · 0 评论 -
6-9 两个有序链表序列的合并 (10 分)
6-9 两个有序链表序列的合并 (10 分)本题要求实现一个函数,将两个链表表示的递增整数序列合并为一个非递减的整数序列。函数接口定义:List Merge( List L1, List L2 );其中List结构定义如下:typedef struct Node *PtrToNode;struct Node { ElementType Data; /* 存储结点数据 */ PtrToNode Next; /* 指向下一个结点的指针 */};typedef P原创 2021-05-05 13:30:00 · 187 阅读 · 0 评论