• PAT(B) 1012 数字分类(Java)


    题目链接:1012 数字分类
    代码
    /**
     * Score 20
     * Run Time 142ms
     * @author wowpH
     * @version 1.1
     */
    
    import java.util.Scanner;
    
    public class Main {
    	private static void output(int x, int count) {
    		if (count > 0) {
    			System.out.print(x + " ");
    		} else {
    			System.out.print("N" + " ");
    		}
    	}
    
    	public static void main(String[] args) {
    		// 输入
    		Scanner sc = new Scanner(System.in);
    		int N = sc.nextInt();
    		int[] x = new int[N];
    		for (int i = 0; i < N; i++) {
    			x[i] = sc.nextInt();
    		}
    		sc.close();
    
    		int A1, A2, A3, A5;
    		double A4;
    		A1 = A2 = A3 = A5 = 0;
    		A4 = 0;
    
    		// 统计A1,A2,A4,A5的值改变的次数
    		int a1Count, a2Count, a4Count, a5Count;
    		a1Count = a2Count = a4Count = a5Count = 0;
    
    		for (int i = 0; i < N; i++) {
    			switch (x[i] % 5) {
    			case 0:	// 余数为0
    				if (0 == (x[i] & 1)) {	// x[i]为偶数
    					A1 += x[i];
    					a1Count++;
    				}
    				break;
    			case 1:	// 余数为1
    				if (0 == (a2Count & 1)) {	// a2Count为偶数
    					A2 += x[i];
    				} else {
    					A2 -= x[i];
    				}
    				a2Count++;
    				break;
    			case 2:	// 余数为2
    				A3++;	// A3本身就是记录的个数
    				break;
    			case 3:	// 余数为3
    				A4 += x[i];		// A4表示余数为3的数的和
    				a4Count++;
    				break;
    			case 4:	// 余数为4
    				if (A5 < x[i]) {	// A5表示余数为4的数中最大的数
    					A5 = x[i];
    					a5Count++;
    				}
    				break;
    			default:	// 否则什么也不做,没用的一句
    			}
    		}
    
    		output(A1, a1Count);
    		output(A2, a2Count);
    		output(A3, A3);	// A3本身就是记录的个数
    
    		if (a4Count > 0) {
    			System.out.printf("%.1f ", A4 / a4Count);// 要除以个数
    		} else {
    			System.out.print("N" + " ");
    		}
    
    		if (a5Count > 0) {
    			System.out.println(A5);
    		} else {
    			System.out.println("N");
    		}
    	}
    }
    

    注意:某个值不存在的时候,输出N

  • 相关阅读:
    表单高级和表格高级
    XHTML基础知识
    浅析JavaScript访问对象属性和方法及区别
    互联网盈利模式研习笔记之二:佣金与分成
    互联网盈利模式研习笔记之一:流量变现
    前端两年开发经验需要了解的常识!
    拖拽原理
    js中常见兼容性
    前端性能优化
    JS框架常识。
  • 原文地址:https://www.cnblogs.com/wowpH/p/11060786.html
Copyright © 2020-2023  润新知