请完成下列Java程序:计算下列级数之和,直到该项之绝对值小于0.001为止。 S=1/1!-1/2!+1/3!-1/4!+… 注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下: i=1

admin2009-01-15  21

问题 请完成下列Java程序:计算下列级数之和,直到该项之绝对值小于0.001为止。
   S=1/1!-1/2!+1/3!-1/4!+…
   注意:请勿改动main()主方法和其他已有语句内容,仅在下划线处填入适当的语句。程序运行结果如下:
   i=1  s=1.0
   i=2  s=0.5
   i=3  s=0.6666666666666666
   i=4  s=0.625
   i=5  s=0.6333333333333333
   i=6  s=0.6319444444444444
   public class ex1_1 {
     public static void main(String[ ] args) {
         double s=0.0,sign=-1.0,t,f=1.0;
         for (int i=1;;i++){
             f=f*i;
             ______;
             t=sign/f;
             if(______)
                  break;
             s=s+t;
             System.out.println( "i= "+i+" s="+s);
         }
     }
   }

选项

答案sign=-sign Math.abs(t)<0.001

解析 本题主要考查for循环和条件语句控制程序流程。解题关键是会根据公式写出相应的算法解决问题。本题中,第1个空,由于公式里每一项的符号都是交替变化的,所以这里需要改变符号;第2个空,判断是否中断循环的条件,需要用Math.abs()方法来进行绝对值的比较。
转载请注明原文地址:https://jikaoti.com/ti/iJb0FFFM
0

最新回复(0)