![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
java 基础编程练习
牛客网上的基础编程练习,使用java语言完成。
那我还是要怕
种一棵树最好的时间是10年前,其次是现在。
展开
-
java 基础编程练习1
题目描述KiKi有一个矩阵,他想知道经过k次行变换或列变换后得到的矩阵。请编程帮他解答。输入描述:第一行包含两个整数n和m,表示一个矩阵包含n行m列,用空格分隔。 (1≤n≤10,1≤m≤10)从2到n+1行,每行输入m个整数(范围-231~231-1),用空格分隔,共输入n*m个数,表示第一个矩阵中的元素。接下来一行输入k,表示要执行k次操作(1≤k≤5)。接下来有k行,每行包括一个字符t和两个数a和b,中间用空格格分隔,t代表需要执行的操作,当t为字符’r’时代表进行行变换,当t为字符’c’时原创 2021-04-27 23:22:43 · 328 阅读 · 0 评论 -
java 基础编程练习2
题目描述:KiKi知道什么叫杨辉三角之后对杨辉三角产生了浓厚的兴趣,他想知道杨辉三角的前n行,请编程帮他解答。杨辉三角,本质上是二项式(a+b)的n次方展开后各项的系数排成的三角形。其性质包括:每行的端点数为1, 一个数也为1;每个数等于它左上方和上方的两数之和。输入描述:第一行包含一个整数数n。 (1≤n≤30)输出描述:包含n行,为杨辉三角的前n行,每个数输出域宽为5。示例1输入:6输出:11 11 2 11 3 3 11 4原创 2021-04-28 22:52:01 · 162 阅读 · 0 评论 -
java 基础编程练习3
题目描述:KiKi和BoBo玩 “井”字棋。也就是在九宫格中,只要任意行、列,或者任意对角线上面出现三个连续相同的棋子,就能获胜。请根据棋盘状态,判断当前输赢。输入描述:三行三列的字符元素,代表棋盘状态,字符元素用空格分开,代表当前棋盘,其中元素为K代表KiKi玩家的棋子,为O表示没有棋子,为B代表BoBo玩家的棋子。输出描述:如果KiKi获胜,输出“KiKi wins!”;如果BoBo获胜,输出“BoBo wins!”;如果没有获胜,输出“No winner!”。示例1输入:K O B原创 2021-04-29 22:15:37 · 206 阅读 · 0 评论 -
java 基础编程练习4
题目描述:小乐乐在课上学习了二进制八进制与十六进制后,对进制转换产生了浓厚的兴趣。因为他的幸运数字是6,所以他想知道一个数表示为六进制后的结果。请你帮助他解决这个问题。输入描述:输入一个正整数n (1 ≤ n ≤ 109)输出描述:输出一行,为正整数n表示为六进制的结果示例1:输入6输出10示例2:输入120输出320解题思路:十进制转化为其他进制的数,用短除法倒取余数。import java.util.Scanner;public class Main{原创 2021-04-30 23:38:19 · 103 阅读 · 1 评论 -
java 基础编程练习5
题目描述:小乐乐比较懒惰,他现在想睡觉,然后再去学习。他知道现在的时刻,以及自己要睡的时长,想设定一个闹钟叫他起床学习,但是他太笨了,不知道应该把闹钟设定在哪个时刻,请你帮助他。(只考虑时和分,不考虑日期)输入描述:输入现在的时刻以及要睡的时长k(单位:minute),中间用空格分开。输入格式:hour:minute k(如hour或minute的值为1,输入为1,而不是01)(0 ≤ hour ≤ 23,0 ≤ minute ≤ 59,1 ≤ k ≤ 109)输出描述:对于每组输入,输出闹钟原创 2021-05-02 12:37:05 · 76 阅读 · 0 评论 -
java 基础编程练习6
题目描述:小乐乐上课需要走n阶台阶,因为他腿比较长,所以每次可以选择走一阶或者走两阶,那么他一共有多少种走法?输入描述:输入包含一个整数n (1 ≤ n ≤ 30)输出描述:输出一个整数,即小乐乐可以走的方法数。示例1输入2输出2示例2输入10输出89解题思路:当只有一格楼梯的时候,只有一种走法。当有两格楼梯的时候,有两种走法。当有三格楼梯的时候,乐乐可以从第一级直接走上来(因为他可以直接走两级)【1种】,也可以选择从第二级走上来(那么他就直接走一级)【2种】,一共是原创 2021-05-04 13:16:12 · 109 阅读 · 0 评论 -
java 基础编程练习7
题目描述:老师给了小乐乐一个正整数序列,要求小乐乐把这个序列去重后按从小到大排序。但是老师给出的序列太长了,小乐乐没办法耐心的去重并排序,请你帮助他。输入描述:第一行包含一个正整数n,表示老师给出的序列有n个数。接下来有n行,每行一个正整数k,为序列中每一个元素的值。(1 ≤ n ≤ 105,1 ≤ k ≤ n)输出描述:输出一行,为去重排序后的序列,每个数后面有一个空格。示例1输入42211输出1 2示例2输入554321输出1 2 3 4 5import原创 2021-05-04 14:28:27 · 181 阅读 · 0 评论 -
java 基础编程练习8
题目描述:小乐乐学会了自定义函数,BoBo老师给他出了个问题,根据以下公式计算m的值。其中 max3函数为计算三个数的最大值,如: max3(1, 2, 3) 返回结果为3。输入描述:一行,输入三个整数,用空格隔开,分别表示a, b, c。输出描述:一行,一个浮点数,小数点保留2位,为计算后m的值。示例1输入1 2 3输出0.30import java.util.Scanner;import java.lang.Math;public class Main{ publ原创 2021-05-10 18:51:36 · 90 阅读 · 0 评论 -
java 基础编程练习9
题目描述:给定n个整数和一个整数x,小乐乐想从n个整数中判断x出现几次,请编程帮他实现。输入描述:共3行第一行,一个整数,表示n(1 <= n <= 100)。第二行,共输入n个整数,两个整数之间用空格分隔。第三行,输入一个整数,表示要查找的整数x。输出描述:一行,表示整数x出现的次数。示例1:输入51 1 2 1 31输出3import java.util.Scanner;public class Main { public static void mai原创 2021-05-10 18:59:31 · 141 阅读 · 0 评论 -
java 基础编程练习10
题目描述:KiKi想知道一个n阶方矩是否为上三角矩阵,请帮他编程判定。上三角矩阵即主对角线以下的元素都为0的矩阵,主对角线为从矩阵的左上角至右下角的连线。输入描述:第一行包含一个整数n,表示一个方阵包含n行n列,用空格分隔。 (2≤n≤10)从2到n+1行,每行输入n个整数(范围-231~231-1),用空格分隔,共输入n*n个数。输出描述:一行,如果输入方阵是上三角矩阵输出"YES"并换行,否则输出"NO"并换行。示例1输入31 2 30 4 50 0 6输出YES示例2输原创 2021-05-10 19:27:38 · 126 阅读 · 0 评论 -
java 基础编程练习11
题目描述:KiKi学习了结构体和指针,他了解了结构体类型可以定义包含多个不同类型成员,而指针本质是内存地址,是引用数据的另外一种方式。现在他想将多个输入的数据通过结构体和指针的方式连接在一起,形成一个单向链表,即:每个结点是结构体类型,包括整型数据成员(data)和结构体指针类型成员(next),每个结点的指针部分指向下一个输入的结点。具体建立过程如下:先输入n个整数,按照数据输入的顺序建立一个带头结点的单链表,再输入一个数据m,将单链表中的值为m的结点全部删除。输出删除后的单链表信息。输入描述:包括原创 2021-05-10 20:14:47 · 60 阅读 · 0 评论 -
java 基础编程练习12
题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的K形图案。输入描述:多组输入,一个整数(2~20)。输出描述:针对每行输入,输出用“”组成的K形,每个“”后面有一个空格。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.in);原创 2021-05-10 21:13:50 · 79 阅读 · 0 评论 -
java 基础编程练习13
题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的“空心”三角形图案。输入描述:多组输入,一个整数(3~20),表示输出的行数,也表示组成三角形边的“*”的数量。输出描述:针对每行输入,输出用“ * ”组成的“空心”三角形,每个“ * ”后面有一个空格。import java.util.Scanner;public class Main { public static void main(String[] args) {原创 2021-05-10 21:19:32 · 129 阅读 · 0 评论 -
java 基础编程练习14
题目描述:KiKi学习了循环,BoBo老师给他出了一系列打印图案的练习,该任务是打印用“*”组成的反斜线形图案。输入描述:多组输入,一个整数(2~20),表示输出的行数,也表示组成反斜线的“*”的数量。输出描述:针对每行输入,输出用“*”组成的反斜线。import java.util.Scanner;public class Main { public static void main(String[] args) { Scanner in=new Scanner(System.i原创 2021-05-11 23:23:12 · 126 阅读 · 0 评论 -
java 基础编程练习15
题目描述:小乐乐最近在课上学习了如何求两个正整数的最大公约数与最小公倍数,但是他竟然不会求两个正整数的最大公约数与最小公倍数之和,请你帮助他解决这个问题。输入描述:每组输入包含两个正整数n和m。(1 ≤ n ≤ 109,1 ≤ m ≤ 109)输出描述:对于每组输入,输出一个正整数,为n和m的最大公约数与最小公倍数之和。示例1输入10 20输出30示例2输入15 20输出65解题思路:import java.util.Scanner;public class Mai原创 2021-05-12 21:38:54 · 99 阅读 · 0 评论 -
java 基础编程练习16
题目描述:小乐乐喜欢数字,尤其喜欢0和1。他现在得到了一个数,想把每位的数变成0或1。如果某一位是奇数,就把它变成1,如果是偶数,那么就把它变成0。请你回答他最后得到的数是多少。输入描述:输入包含一个整数n (0 ≤ n ≤ 109)输出描述:输出一个整数,即小乐乐修改后得到的数字。示例1输入222222输出0示例2输入123输出101import java.util.Scanner;public class Main { public static void main原创 2021-05-12 22:07:05 · 136 阅读 · 0 评论 -
java 基础编程练习17
题目描述:在庆祝祖国母亲70华诞之际,老师给小乐乐出了一个问题。大家都知道China的英文缩写是CHN,那么给你一个字符串s,你需要做的是统计s中子串“CHN”的个数。子串的定义:存在任意下标a < b < c,那么“s[a]s[b]s[c]”就构成s的一个子串。如“ABC”的子串有“A”、“B”、“C”、“AB”、“AC”、“BC”、“ABC”。输入描述:输入只包含大写字母的字符串s。(1 ≤ length ≤ 8000)输出描述:输出一个整数,为字符串s中字串“CHN”的数量。原创 2021-05-13 15:31:34 · 99 阅读 · 0 评论 -
java 基础编程练习18
题目描述:小乐乐从老师口中听到了二段数这个名词,想更深入的了解二段数。二段数是这样的正整数:恰好包含两种不同的十进制数字s和t,s不是0,并且s的所有出现均排列在所有的t的前面。例如,44444411是二段数(s是4,t是1),41、10000000和5555556也是。但4444114和44444都不是二段数。这时老师问小乐乐:给你一个任意的正整数n,你能求出比n大并且是n的倍数的最小二段数吗?请你帮助小乐乐解答这个问题。输入描述:多组输入,每组输入包含一个正整数n (1 ≤ n ≤ 99999原创 2021-05-13 22:24:36 · 293 阅读 · 0 评论 -
java 基础编程练习19
题目描述:KiKi理解了继承可以让代码重用,他现在定义一个基类shape,私有数据为坐标点x,y, 由它派生Rectangle类和Circle类,它们都有成员函数GetArea()求面积。派生类Rectangle类有数据:矩形的长和宽;派生类Circle类有数据:圆的半径。Rectangle类又派生正方形Square类,定义各类并测试。输入三组数据,分别是矩形的长和宽、圆的半径、正方形的边长,输出三组数据,分别是矩形、圆、正方形的面积。圆周率按3.14计算。输入描述:输入三行,第一行为矩形的长和宽原创 2021-05-13 22:48:23 · 148 阅读 · 2 评论