Ok呀, 家人们好久不见 , 这段时间又一点忙 , 更新有点迟哈,今天更新4道小题。俗话说的好“代码的世界,既抽象又具体,既逻辑又情感。在每个为解决问题而奋斗的夜晚,都在尝试用代码来描绘情感的色彩,用逻辑来讲述生活的故事。敲代码,让我找到了与世界对话的方式,也让世界看到了我。”
希望我们的可以在编程的路上越走越远!
废话不用多说,直接上重要的东西!!!
一题 陶陶摘苹果
描述
陶陶家的院子里有一棵苹果树,每到秋天树上就会结出10个苹果。苹果成熟的时候,陶陶就会跑去摘苹果。陶陶有个30厘米高的板凳,当她不能直接用手摘到苹果的时候,就会踩到板凳上再试试。
现在已知10个苹果到地面的高度,以及陶陶把手伸直的时候能够达到的最大高度,请帮陶陶算一下她能够摘到的苹果的数目。假设她碰到苹果,苹果就会掉下来。
输入
包括两行数据。第一行包含10个100到200之间(包括100和200)的整数(以厘米为单位)分别表示10个苹果到地面的高度,两个相邻的整数之间用一个空格隔开。第二行只包括一个100到120之间(包含100和120)的整数(以厘米为单位),表示陶陶把手伸直的时候能够达到的最大高度。
输出
包括一行,这一行只包含一个整数,表示陶陶能够摘到的苹果的数目。
代码 :
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System .in);
int [] a = new int [10];
int jishu = 0;
for(int i = 0 ; i < 10 ; i++)
{
a[i] = sc.nextInt();
}
jishu = sc.nextInt();
int sum = 0;
for(int i = 0 ; i < 10 ; i++)
{
if(jishu + 30 >= a[i])
{
sum++;
}
}
System.out.print(sum);
sc.close();
}
}
第二题 有趣的跳跃
描述
一个长度为n(n>0)的序列中存在“有趣的跳跃”当前仅当相邻元素的差的绝对值经过排序后正好是从1到(n-1)。例如,1 4 2 3存在“有趣的跳跃”,因为差的绝对值分别为3,2,1。当然,任何只包含单个元素的序列一定存在“有趣的跳跃”。你需要写一个程序判定给定序列是否存在“有趣的跳跃”。
输入
一行,第一个数是n(0 < n < 3000),为序列长度,接下来有n个整数,依次为序列中各元素,各元素的绝对值均不超过1,000,000,000。
输出
一行,若该序列存在“有趣的跳跃”,输出"Jolly",否则输出"Not jolly"。
代码:
import java.util.Arrays;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in=new Scanner(System.in);
int n=in.nextInt();
int a[]=new int [n];//a表示n个正数的一维数组
int b[]=new int [n-1];//排序后n-1个整数的一维数组
if(n==1) {
//任何只包含单个元素的序列一定存在“有趣的跳跃”
System.out.println("Jolly");
}
else {
for(int i=0;i<n;i++) {
a[i]=in.nextInt();//输入n个整数
}
for(int i=0;i<n;i++) {
for(i=0;i<n-1;i++) {
b[i]=Math.abs(a[i+1]-a[i]);
}
}
Arrays.sort(b);//对于b的一维数组进行排序
int j=1;
for(int i=0;i<n-1;i++,j++) {
if(b[i]!=j){
System.out.println("Not jolly");
break;//当不满足条件则用break终止循环
}
else
{
if(i==n-2)
{//当全部满足条件且循环到最后n-2时可以输出结果
System.out.println("Jolly");
}
}
}
}
}
}
第三题 在数组中查找元素
描述
给定一个整型数组和一个整数,判定这个整数是否在该数组中存在,若存在,则输出Find,否则输出Not Find。数组的元素个数不超过100。
输入
共三行,第一行为数组中元素的个数n,第二行为n个整数,第三行是待找的一个整数
输出
一行,如果待找的整数在数组中则输出Find,否则输出Not Find。
代码:
import java.util.Scanner;
public class Main{
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
int a = sc.nextInt();
int [] s = new int [a];
for(int i = 0 ; i< a ;i++)
{
s[i] = sc.nextInt();
}
int b = sc.nextInt();
boolean flag = false;
for(int i =0; i <a;i++)
{
if(b == s[i])
{
flag = true;
break;
}
}
if(flag)
{
System.out.printf("Find");
}
else
{
System.out.printf("Not Find");
}
sc.close();
}
}
第四题 计算矩阵边缘元素之和
描述
输入一个整数矩阵,计算位于矩阵边缘的元素之和。所谓矩阵边缘的元素,就是第一行和最后一行的元素以及第一列和最后一列的元素。
输入
第一行分别为矩阵的行数m和列数n(m < 100,n < 100),两者之间以一个空格分开。
接下来输入的m行数据中,每行包含n个整数,整数之间以一个空格分开。
输出
输出对应矩阵的边缘元素和
代码:
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
int m = scanner.nextInt(); // 矩阵的行数
int n = scanner.nextInt(); // 矩阵的列数
int[][] s = new int[m][n]; // 存储矩阵的二维数组
// 输入矩阵数据
for (int i = 0; i < m; i++)
{
for (int j = 0; j < n; j++)
{
s[i][j] = scanner.nextInt();
}
}
int sum = 0; // 边缘元素的和
// 计算边缘元素的和
for (int i = 0; i < m; i++) {
for (int j = 0; j < n; j++) {
if (i == 0 || i == m - 1 || j == 0 || j == n - 1) {
sum += s[i][j];
}
}
}
System.out.println(sum); // 输出边缘元素的和
}
}
好啦家人们, 今天的代码分享就到这里啦 , 不要太想我哦!