美团笔试2023.4.1
第一题只A了45%。有大佬帮我看看问题出在哪了吗?
a数组代表一个长度为n的整数数组;初始状态是数组的每个数之间有+号,也就是n-1个加号;
m代表m次操作,t代表操作第几个加号,o代表把这个加号变成+-×/中的某个符号。输出改变符号后算式的值。每次操作都是独立的,结果互不影响
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);
int n= in.nextInt();
int[] a=new int[n];
int sum=0;
for(int i=0;i<n;i++){
a[i]=in.nextInt();
sum+=a[i];
}
int m=in.nextInt();
for(int i=0;i<m;i++){
int t=in.nextInt();
String o=in.next();
double res=sum;
if(o.charAt(0)=='-'){
res=sum-2*a[t];
} else if (o.charAt(0)=='*') {
res=sum-a[t-1]-a[t]+a[t-1]*a[t];
} else if (o.charAt(0)=='/') {
res=sum-a[t-1]-a[t]+a[t-1]/1.0/a[t];
}
System.out.printf("%.1f",res);
System.out.print(" ");
}
}
}
#我的实习求职记录#
查看7道真题和解析