1、逆序输出数组元素
资源限制
时间限制:1.0s 内存限制:512.0MB
编写一个程序,输入10个整数(为100以内非负整数)存入一维数组,按逆序重新存放后再输出。
样例输入
0 1 4 2 3 5 8 9 7 6
样例输出
6 7 9 8 5 3 2 4 1 0
import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int[] arr = new int[10]; for (int i = 0; i < arr.length; i++) { arr[i] = sc.nextInt(); } sc.close(); for (int j = arr.length - 1; j >= 0; j--) { System.out.print(arr[j] + " "); } } }
2、数组求和
资源限制
时间限制:1.0s 内存限制:256.0MB
问题描述
输入n个数,围成一圈,求连续m(m<n)个数的和最大为多少?
输入格式
输入的第一行包含两个整数n, m。第二行,共n个整数。
输出格式
输出1行,包含一个整数,连续m个数之和的最大值。
样例输入
10 3
9 10 1 5 9 3 2 6 7 4
样例输出
23
数据规模和约定
0<m<n<1000, -32768<=输入的每个数<=32767。
import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int m = sc.nextInt(); int[] num = new int[n + m]; for (int i = 0; i < n; i++) { num[i] = sc.nextInt(); } sc.close(); for (int i = n; i < n + m; i++) { num[i] = num[i - n]; } int max = 0, sum = 0; for (int i = 0; i < m; i++) sum += num[i]; for (int i = m; i < m + n; i++) { sum = sum - num[i - m] + num[i]; max = Math.max(max, sum); } System.out.println(max); } }
3、数列排序
资源限制
时间限制:1.0s 内存限制:512.0MB
问题描述
给定一个长度为n的数列,将这个数列按从小到大的顺序排列。1<=n<=200
输入格式
第一行为一个整数n。
第二行包含n个整数,为待排序的数,每个整数的绝对值小于10000。
输出格式
输出一行,按从小到大的顺序输出排序后的数列。
样例输入
5
8 3 6 4 9
样例输出
3 4 6 8 9
import java.util.Arrays; import java.util.Scanner; public class demo { public static void main(String[] args) { Scanner sc = new Scanner(System.in); int n = sc.nextInt(); int nums[] = new int[n]; for (int x = 0; x < n; x++) { nums[x] = sc.nextInt(); } sc.close(); Arrays.sort(nums); for (int x : nums) { System.out.print(x + " "); } } }