代码改变世界

第三次过程性考核

2018-11-03 18:26  wxl!  阅读(262)  评论(0编辑  收藏  举报
 
7-4 说反话-加强版
给定一句英语,要求你编写程序,将句中所有单词的顺序颠倒输出。

代码片段:

import java.util.Scanner;

public class Main { 

  public static void main(String[] args) {     

    Scanner scanner = new Scanner(System.in);   

    String str = scanner.nextLine().trim();    

    String[] strs = str.split(" +"); 

    for(int i=strs.length-1;i>=0;--i)      { 

        System.out.print(strs[i]);    

        if(i!=0)           

        System.out.print(" ");     } 

  }  }

 

 
7-5 简化的插入排序
本题要求编写程序,将一个给定的整数插到原本有序的整数序列中,使结果序列仍然有序。
知识点:Arrays.sort(a)//排序

代码片段:

import java.util.*;
public class Main{
	public static void main(String[] args){
		Scanner read=new Scanner(System.in);
		int n=read.nextInt();
		int a[]=new int[n+1];
		int i;
		for(i=0;i<n;i++){
			a[i]=read.nextInt();
		}
		a[n]=read.nextInt();
		Arrays.sort(a);
		for(i=0;i<=n;i++){
			System.out.print(a[i]+" ");
		}
	}
}


 

 

7-6 交换最小值和最大值

本题要求编写程序,先将输入的一系列整数中的最小值与第一个数交换,然后将最大值与最后一个数交换,最后输出交换后的序列。
注意:题目保证最大和最小值都是唯一的。
知识点:交换
 max=(a[i]>a[max])?i:max;//当条件成立时max=i;不成立时等于:后面。
    min=(a[i]<a[min])?i:min;//当条件成立时min=i;不成立时等于:后面。

代码片段:

import java.util.*;
public class Main{
	public static void main(String[] args){
		Scanner read=new Scanner(System.in);
		int N=read.nextInt();
		int a[]=new int[N];
		int i;
		for(i=0;i<N;i++){
			a[i]=read.nextInt();
		}
		int max=0;
		int min=0;
		for(i=1;i<N;i++){
		  max=(a[i]>a[max])?i:max;
			min=(a[i]<a[min])?i:min;

		}
		  
		  
		int c;
		c=a[0];
		a[0]=a[min];
		a[min]=c;
		if(max==0){
			max=min;
		}
		c=a[N-1];
		a[N-1]=a[max];
		a[max]=c;
		for(i=0;i<N;i++){
			System.out.print(a[i]+" ");
		}
	}
}

 

 
7-8 IP地址转换
一个IP地址是用四个字节(每个字节8个位)的二进制码组成。请将32位二进制码表示的IP地址转换为十进制格式表示的IP地址输出。
知识点:Integer.parseInt//l类型转换

代码片段:

import java.util.Scanner;
public class Main{
	public static void main(String[] args){
		Scanner read=new Scanner(System.in);
		String n=read.nextLine();
		String a=n.substring(0,8);
		String b=n.substring(8,16);
		String c=n.substring(16,24);
		String d=n.substring(24,32);
		int a1=Integer.parseInt(a,2);
		int b1=Integer.parseInt(b,2);
		int c1=Integer.parseInt(c,2);
		int d1=Integer.parseInt(d,2);
		System.out.print(a1+"."+b1+"."+c1+"."+d1);
	}
}

 

码云地址:https://gitee.com/wxl19981225/16012101_1/tree/master

学习内容 代码行数 博客字数
初始化 10  
字符串 30  
第三次考核 100 300