往前走,往前看,哪怕前途一片迷惘,哪怕只是凭着惯性往前走——总有一天,会在自己漫长的脚印中找到方向。
只是大概需要一些耐心
——priest
命令行输入数组与输出
代码实现
package ccf_1;
import java.util.Arrays;
import java.util.Scanner; //导入Scanner类
public class ccf_test2{
public static void main (String args[]){
Scanner sc = new Scanner(System.in); //使用scanner类创建sc对象
while(sc.hasNext()){
//while循环是只要while后面表达式的值为true就会一直循环,直到表达式的值变为false,结束循环
int n = sc.nextInt(); //数组个数
int[] a = new int[n]; //数组
for (int i=0; i<n; i++){
a[i] = sc.nextInt(); //依次输入数组元素
}
Arrays.sort(a); //Array调用排序方法,数组a按照升序排序
System.out.println(Arrays.toString(a)); //输出数组元素
}
}
}
5
55555 5 55 5555 555
[5, 55, 555, 5555, 55555]
最小差值
问题描述
问题描述
给定n个数,请找出其中相差(差的绝对值)最小的两个数,输出它们的差值的绝对值。
输入格式
输入第一行包含一个整数n。
第二行包含n个正整数,相邻整数之间使用一个空格分隔。
输出格式
输出一个整数,表示答案。
样例输入
5
1 5 4 8 20
样例输出
1
样例说明
相差最小的两个数是5和4,它们之间的差值是1。
样例输入
5
9 3 6 1 3
样例输出
0
样例说明
有两个相同的数3,它们之间的差值是0.
数据规模和约定
对于所有评测用例,2 ≤ n ≤ 1000,每个给定的整数都是不超过10000的正整数
代码实现
//2017-12-1
package ccf_1;
import java.util.Arrays;
import java.util.Scanner; //导入Scanner类
public class ccf_test2{
public static void main (String args[]){
Scanner sc = new Scanner(System.in); //使用scanner类创建sc对象
while(sc.hasNext()){
int n = sc.nextInt(); //数组个数
int[] a = new int[n]; //数组
int min_dif = 10000; //最小差值
for (int i=0; i<n; i++){
a[i] = sc.nextInt(); //依次输入数组元素
}
for (int i=0;i<n;i++){
for (int j=i+1;j<n;j++){
int dif = Math.abs(a[i]-a[j]);
if (min_dif>dif){
min_dif = dif;
}
}
}
System.out.println(min_dif);
}
}
}
5
1 5 4 8 20
1
评测结果
根据提交要求更改提交程序后得到如下评测结果: