题意:
1.按要求求出A1~A5的值
注意:
1.A2和A5可能等于0所以不能直接用A2或A5 == 0 来判断是否有这个数
逻辑:
1.这题逻辑题目已经说了
代码如下:
import java.util.Scanner;
import java.text.DecimalFormat;
public class Main {
public static void main(String[] args) {
Scanner scanner = new Scanner(System.in);
scanner.nextInt();
//用于格式化取小数点后一位
DecimalFormat decimalFormat = new DecimalFormat("#.0");
int A1 = 0 ;
int A2 = 0 ;
boolean hasA2 = false;//A2是可能等于零的,所以不能用判断零来证明它是否存在
int A3 = 0 ;
int A4_Count = 0;
double A4 = 0 ;
int A5 = 0 ;
boolean hasA5 = false;//跟A2是一样的道理,最大值也可能是零
boolean stagger = true;//用来切换A2的加减状态!
while(scanner.hasNext()){
int number = scanner.nextInt();
int residue = number%5;
if(number%10==0){//因为被5整除又是偶数所以一定是可以被10整除的
A1+=number;
}else if(residue==1){
A2 = stagger?(A2+number):(A2-number);//三元判断符,进行加减操作
hasA2 = true;
stagger = !stagger;//改变状态
}else if(residue==2){
A3++;
}else if(residue==3){
A4+=number;
A4_Count++;
}else if(residue==4){
A5 = A5>=number?A5:number;//取最大值
hasA5 = true;
}
}
//打印输出
System.out.print((A1==0?"N":A1)+" ");
System.out.print(((!hasA2)?"N":A2)+" ");
System.out.print((A3==0?"N":A3)+" ");
System.out.print((A4_Count==0?"N":decimalFormat.format(A4/A4_Count))+" ");
System.out.print((!hasA5)?"N":A5);
}
}
感谢大家的观看!!!