读入1 个正整数 n(n<=100),计算并输出1-1/2+1/3-1/4+……的前n项和(四舍五入保留小数4位)。
importjava.util.Scanner;publicclassTest40004{publicstaticvoidmain(String[]args){intri...
import java.util.Scanner;
public class Test40004 {
public static void main(String[] args) {
int ri, repeat;
int i, n, flag;
float sum;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
/*--------------------*/
sum=0;
flag=1;
for(i=1;i<=n;i++){
sum+=(float)(1/i)*flag;【为啥有(1/i)这个括号答案就不对了呢?】
flag=-flag;
}
System.out.println((long)(sum*10000+0.5)/10000.);
}
}
} 展开
public class Test40004 {
public static void main(String[] args) {
int ri, repeat;
int i, n, flag;
float sum;
Scanner in=new Scanner(System.in);
repeat=in.nextInt();
for(ri=1; ri<=repeat; ri++){
n=in.nextInt();
/*--------------------*/
sum=0;
flag=1;
for(i=1;i<=n;i++){
sum+=(float)(1/i)*flag;【为啥有(1/i)这个括号答案就不对了呢?】
flag=-flag;
}
System.out.println((long)(sum*10000+0.5)/10000.);
}
}
} 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询