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分到手
勿在浮沙筑高台