第三次过程性考核——常用实用类
2018-11-03 19:30 QM! 阅读(432) 评论(0) 编辑 收藏 举报第三次考核码云链接:https://gitee.com/QM0829/exam
课堂练习码云链接:https://gitee.com/QM0829/test
7-1 简化的插入排序
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
输入格式:
输入在第一行先给出非负整数N(<10);第二行给出N个从小到大排好顺序的整数;第三行给出一个整数X。
输出格式:
在一行内输出将X插入后仍然从小到大有序的整数序列,每个数字后面有一个空格。
1 import java.util.*; 2 public class Main{ 3 public static void main(String[] args){ 4 Scanner read=new Scanner(System.in); 5 int n=read.nextInt(); 6 int a[]=new int[n+1]; 7 int i; 8 for(i=0;i<n;i++){ 9 a[i]=read.nextInt(); 10 } 11 a[n]=read.nextInt(); 12 Arrays.sort(a); 13 for(i=0;i<=n;i++){ 14 System.out.print(a[i]+" "); 15 } 16 } 17 }
7-2 IP地址转换
一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。
输入格式:
输入在一行中给出32位二进制字符串。
输出格式:
在一行中输出十进制格式的IP地址,其由4个十进制数组成(分别对应4个8位的二进制数),中间用“.”分隔开。
1 import java.util.*; 2 public class Main{ 3 public static void main(String[] args){ 4 Scanner read=new Scanner(System.in); 5 String n=read.nextLine(); 6 String a=n.substring(0,8); 7 String b=n.substring(8,16); 8 String c=n.substring(16,24); 9 String d=n.substring(24,32); 10 int a1=Integer.parseInt(a,2); 11 int b1=Integer.parseInt(b,2); 12 int c1=Integer.parseInt(c,2); 13 int d1=Integer.parseInt(d,2); 14 System.out.print(a1+"."+b1+"."+c1+"."+d1); 15 } 16 }
7-4 交换最小值和最大值
本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
注意:题目保证最大和最小值都是唯一的。
输入格式:
输入在第一行中给出一个正整数N(≤10),第二行给出N个整数,数字间以空格分隔。
输出格式:
在一行中顺序输出交换后的序列,每个整数后跟一个空格。
1 import java.util.*; 2 public class Main{ 3 public static void main(String[] args){ 4 Scanner read=new Scanner(System.in); 5 int n=read.nextInt(); 6 int a[]=new int[n]; 7 int i; 8 for(i=0;i<n;i++){ 9 a[i]=read.nextInt(); 10 } 11 int max=0; 12 int min=0; 13 for(i=1;i<n;i++){ 14 max=(a[i]>a[max])?i:max; 15 min=(a[i]<a[min])?i:min; 16 } 17 int change; 18 change=a[0]; 19 a[0]=a[min]; 20 a[min]=change; 21 if(max==0){ 22 max=min; 23 } 24 change=a[n-1]; 25 a[n-1]=a[max]; 26 a[max]=change; 27 for(i=0;i<n;i++){ 28 System.out.print(a[i]+" "); 29 } 30 } 31 }
7-5 说反话-加强版
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。
输入格式:
测试输入包含一个测试用例,在一行内给出总长度不超过500 000的字符串。字符串由若干单词和若干空格组成,其中单词是由英文字母(大小写有区分)组成的字符串,单词之间用若干个空格分开。
输出格式:
每个测试用例的输出占一行,输出倒序后的句子,并且保证单词间只有1个空格。
代码:
1 import java.util.Scanner; 2 public class Main { 3 public static void main(String[] args) { 4 Scanner scanner = new Scanner(System.in); 5 String str = scanner.nextLine().trim(); 6 String[] strs = str.split(" +"); 7 for(int i=strs.length-1;i>=0;--i) 8 { 9 10 System.out.print(strs[i]); 11 if(i!=0) 12 System.out.print(" "); 13 } 14 15 } 16 }