OpenJudge 陶陶摘苹果 有趣的跳跃 在数组中查找元素 计算矩阵边缘元素之和

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); // 输出边缘元素的和
    }
}

        好啦家人们, 今天的代码分享就到这里啦 , 不要太想我哦!

  • 17
    点赞
  • 20
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值