1012

package com.company;

import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // write your code here
        Scanner sc=new Scanner(System.in);
        int N=sc.nextInt();
        int[] num=new int[N];
        int A1=0,A2=0,A3,A5;
        double A4;
        String out="N";
        //输入
        for(int i=0;i<N;i++){
            num[i]=sc.nextInt();
        }
        //A1=能被 5 整除的数字中所有偶数的和;
        for(int i=0;i<N;i++){
            if(num[i]%5==0&&num[i]%2==0){
                A1=A1+num[i];
            }
        }
        if (A1>0){
            System.out.print(A1+" ");
        }
        else{
            System.out.print(out+" ");
        }
        //被5除后余1的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯
        int j=-1;
        for(int i=0;i<N;i++){
            if(num[i]%5==1){
                j++;
                if(j%2==0) {
                    num[i]=num[i];
                }if(j%2==1){
                    num[i]=-num[i];
                }
                A2=A2+num[i];
            }

        }
        if("null".equals(String.valueOf(A2))||"0".equals(String.valueOf(A2))) {
            System.out.print(out+" ");
        }else {
            System.out.print(A2+" ");
        }
        //被5除后余2的数字的个数
        A3=0;
        for(int i=0;i<N;i++){
            if(num[i]%5==2){
                A3++;
            }
        }
        if("null".equals(String.valueOf(A3))||"0".equals(String.valueOf(A3))){
            System.out.print(out+" ");
        }else{
            System.out.print(A3+" ");
        }
        //被5除后余3的数字的平均数,精确到小数点后1位
        DecimalFormat df=new DecimalFormat("0.0");
        int m=0;
        double sum=0;
        for (int i=0;i<N;i++){
            if (num[i]%5==3){
                sum=sum+num[i];
                m++;
            }

        }
        A4=sum/m;
        if("null".equals(String.valueOf(sum))||"0".equals(String.valueOf(sum))){
            System.out.print(out+" ");
        }else{
            System.out.print(df.format(A4)+" ");
        }
    }
}

 

//被5除后余3的数字的平均数,精确到小数点后1位
        int m=0;
        double sum=0;
        for (int i=0;i<N;i++){
            if (num[i]%5==3){
                sum=sum+num[i];
                m++;
            }

        }
        double result=sum/m;
        A4=Math.round(result*10)/10.0;
        if(Double.isNaN(A4)){
            System.out.print(out+" ");
        }else{
            System.out.print(A4+" ");
        }

 

package com.company;

import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // write your code here
        Scanner sc=new Scanner(System.in);
        int N=sc.nextInt();
        int[] num=new int[N];
        int A1=0,A2=0,A3,A5=0;
        double A4=0;
        String out="N";
        //输入
        for(int i=0;i<N;i++){
            num[i]=sc.nextInt();
        }
        //A1=能被 5 整除的数字中所有偶数的和;
        int k1=0;
        for(int i=0;i<N;i++){
            if(num[i]%5==0&&num[i]%2==0){
                A1=A1+num[i];
                k1++;
            }
        }
        if (k1==0){
            System.out.print(out+" ");

        }
        else{
            System.out.print(A1+" ");
        }
        //被5除后余1的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯
        int j=-1;
        for(int i=0;i<N;i++){
            if(num[i]%5==1){
                j++;
                if(j%2==0) {
                    num[i]=num[i];
                }if(j%2==1){
                    num[i]=-num[i];
                }
                A2=A2+num[i];
            }

        }

        if(j==-1) {
            System.out.print(out+" ");
        }else {
            System.out.print(A2+" ");
        }
        //恢复数组
        for(int i=0;i<N;i++){
            if(num[i]%5==-1){
                num[i]=num[i]*(-1);
            }

        }
        //被5除后余2的数字的个数
        A3=0;
        for(int i=0;i<N;i++){
            if(num[i]%5==2){
                A3++;
            }
        }
        if(A3==0){
            System.out.print(out+" ");
        }else{
            System.out.print(A3+" ");
        }

        //被5除后余3的数字的平均数,精确到小数点后1位
        DecimalFormat df=new DecimalFormat("#.#");
        int m=0;
        double sum=0;
        for (int i=0;i<N;i++){
            if (num[i]%5==3){
                sum=sum+num[i];
                m++;
            }

        }
        if(m==0){
            System.out.print(out+" ");
        }else{
            A4=sum/m;
            System.out.print(df.format(A4)+" ");
        }
        //被 5 除后余 4 的数字中最大数字
        int n=0;
        for (int i=0;i<N;i++){
            if (num[i]%5==4){
                n++;
            }
        }
        if (n!=0){
            int len=n;
            int[] number=new int[len];
            int z=-1;
            for (int i=0;i<N;i++){
                if (num[i]%5==4){
                    z++;
                    number[z]=num[i];
                }
            }
            for (int x=0;x<len;x++){
                A5=number[0];
                if (A5<number[x]){
                    A5=number[x];
                }else{
                    A5=number[0];
                }
            }

        }
        if(n==0){
            System.out.print(out);
        }else{
            System.out.print(A5);
        }

    }
}

扣1分,不知原因。竟然是A5出错。这样输出的不是最大值

package com.company;

import java.text.DecimalFormat;
import java.util.Scanner;

public class Main {

    public static void main(String[] args) {
        // write your code here
        Scanner sc=new Scanner(System.in);
        int N=sc.nextInt();
        int[] num=new int[N];
        int A1=0,A2=0,A3,A5=0;
        double A4=0;
        String out="N";
        //输入
        for(int i=0;i<N;i++){
            num[i]=sc.nextInt();
        }
        //A1=能被 5 整除的数字中所有偶数的和;
        int k1=0;
        for(int i=0;i<N;i++){
            if(num[i]%5==0&&num[i]%2==0){
                A1=A1+num[i];
                k1++;
            }
        }
        if (k1==0){
            System.out.print(out+" ");

        }
        else{
            System.out.print(A1+" ");
        }
        //被5除后余1的数字按给出顺序进行交错求和,即计算n1−n2+n3−n4⋯
        int j=-1;
        for(int i=0;i<N;i++){
            if(num[i]%5==1){
                j++;
                if(j%2==0) {
                    num[i]=num[i];
                }if(j%2==1){
                    num[i]=-num[i];
                }
                A2=A2+num[i];
            }

        }

        if(j==-1) {
            System.out.print(out+" ");
        }else {
            System.out.print(A2+" ");
        }
        //恢复数组
        for(int i=0;i<N;i++){
            if(num[i]%5==-1){
                num[i]=num[i]*(-1);
            }

        }
        //被5除后余2的数字的个数
        A3=0;
        for(int i=0;i<N;i++){
            if(num[i]%5==2){
                A3++;
            }
        }
        if(A3==0){
            System.out.print(out+" ");
        }else{
            System.out.print(A3+" ");
        }

        //被5除后余3的数字的平均数,精确到小数点后1位
        DecimalFormat df=new DecimalFormat("0.0");
        int m=0;
        double sum=0;
        for (int i=0;i<N;i++){
            if (num[i]%5==3){
                sum=sum+num[i];
                m++;
            }

        }
        if(m==0){
            System.out.print(out+" ");
        }else{
            A4=sum/m;
            System.out.print(df.format(A4)+" ");
        }
        //被 5 除后余 4 的数字中最大数字
        int n=0;
        for (int i=0;i<N;i++){
            if (num[i]%5==4){
                n++;
            }
        }
        if (n!=0){
            int len=n;
            int[] number=new int[len];
            int z=-1;
            for (int i=0;i<N;i++){
                if (num[i]%5==4){
                    z++;
                    if (z<len){
                        number[z]=num[i];
                    }

                }
            }
            for (int x=0;x<len;x++){
                if (A5<number[x]){
                    A5=number[x];

                }else{
                    A5=A5;

                }
            }

        }
        if(n==0){
            System.out.print(out);
        }else{
            System.out.print(A5);
        }

    }
}

20分到手

posted @ 2018-09-28 21:33  博客园机器人  阅读(441)  评论(0编辑  收藏  举报