B卷编程题参考答案(软2)

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/vvmame/article/details/89879845
  1. 求1*1+2*2+3*3+4*4+...n*n
    import java.util.Scanner;
    public class Test1 {	
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		while (input.hasNextInt()) {
    			int num = input.nextInt();
    			System.out.println(factorial(num));
    		}
    		input.close();
    	}
    	public static int factorial(int num) {
    		int sum=0;
    		for(int j=1;j<=num;j++) {
    			sum+=j*j;
    		}
    		return sum;
    	}
    }
  2. 消消乐
    public class Test 2{
    	public static int[] xiaoxiaole(int[] list) {
    			int[] flag = new int[11];
    			for(int i = 1; i < 10; i++) {
    				for(int j = 0; j < i; j++) {
    					if(list[i] == list[j]) {
    						flag[i] = 1;
    						break;
    					}
    				}
    			}
    			return flag;
    	}
    	public static void main(String[] args) {
    		Scanner scanner = new Scanner(System.in);
    		int[] list = new int[15];
    		int[] ans = null;
    		int id;
    		while(scanner.hasNextInt()) {
    			for(int i = 0; i < 10; i++) {
    				id = scanner.nextInt();
    				list[i] = id;
    			}	
    			ans = xiaoxiaole(list);
    			System.out.print(list[0]);
    			for(int i = 1; i < 10; i++) {
    				if(ans[i] != 1) {
    					System.out.print(" "+list[i]);
    				}
    			}
    			System.out.println();
    		}
    	}
    }
     
  3. 二维数组按列优先输出
    import java.util.Scanner;
    public class Test3 {	
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		while (input.hasNextInt()) {
    			int row = input.nextInt();
    			int col = input.nextInt();
    			int[][] list = new int[row][col];
    			int[][] res = new int[row][col];
    			for (int i = 0; i < row; i++) {
    				for (int j = 0; j < col; j++) {
    					list[i][j] = input.nextInt();
    				}
    			}
    			res=maxRowColSum(list);
    			for (int i = 0; i < row; i++) {
    				for (int j = 0; j < col; j++) {
    					System.out.printf(res[i][j]+" ");
    				}
    				System.out.println();
    			}
    		}
    		input.close();
    	}
    	public static int[][] maxRowColSum(int[][] list) {
    		int[][] res = new int[list[0].length][list.length];
    		for(int i=0;i<list[0].length;i++) {
    			for(int j=0;j<list.length;j++) {
    				res[i][j]=list[j][i];
    			}
    		}
    		return res;
    	}
    }

    4.二维数组求行列最大汇总

    import java.util.Scanner;
    public class Test4 {	
    	public static void main(String[] args) {
    		Scanner input = new Scanner(System.in);
    		while (input.hasNextInt()) {
    			int row = input.nextInt();
    			int col = input.nextInt();
    			int[][] list = new int[row][col];
    			for (int i = 0; i < row; i++) {
    				for (int j = 0; j < col; j++) {
    					list[i][j] = input.nextInt();
    				}
    			}
    			int[] index=new int[2];
    			index=maxRowColSum(list);
    			for(int i=0;i<2;i++) {
    				System.out.printf(index[i]+" ");
    			}
    		}
    		input.close();
    	}
    	public static int[] maxRowColSum(int[][] list) {
    		int max=list[0][0];
    		int[] index=new int[2];
    		int sum=0;
    		for(int i=0;i<list.length;i++) {
    			sum=0;
    			for(int j=0;j<list[0].length;j++) {
    				sum+=list[i][j];
    			}
    			if(max<=sum) {
    				index[0]=i;
    				max=sum;
    			}
    		}
    		max=list[0][0];
    		for(int i=0;i<list[0].length;i++) {
    			sum=0;
    			for(int j=0;j<list.length;j++) {
    				sum+=list[j][i];
    			}
    			if(max<=sum) {
    				index[1]=i;
    				max=sum;
    			}
    		}
    		return index;
    	}
    }

    5.水仙花

    public class Test5{
        public static void main(String[] args) {
            for(int i=100;i<1000;i++) {
            	if(flower(i)) {
            		System.out.println(i +"是水仙花数");
            	}
            }
        }
        public static boolean flower(int num) {
        	int a = num / 100 ;        //百位
            int b = num % 100 / 10;    //十位
            int c = num % 10;          //个位
        	return Math.pow(a,3)+Math.pow(b,3)+Math.pow(c,3)==num?true:false;
        }
    }

猜你喜欢

转载自blog.csdn.net/vvmame/article/details/89879845