问题 问答题

下面的程序中定义了两个方法求自然数1~100的和。具体如下:int suml(int n);利用循环求1~n的和,int sum2(int n);利用递归方法求和1~n的和;在main()方法中调用这两个方法求1~100的和并显示。在程序的每条横线处填写一个适当的语句,使程序的功能完整。 public class Sum{ public static void main(String args[]) {//1.调用suml(int n),求1~100的和 System.out.println("1~100的和:"+sum1(100));//2,调用sum2(int n),求1~100的和 System.out.println("1~100的和:"+sum2(100)); } static int suml(int n) { int result=0; for(int i=1;i<=n;i++) ________________ retrun result; } static int sum2(int n) { if(______________) return 1; else _____________ } }

答案

参考答案:

解析:result+=i; n==1 return n+sum2(n-1); 本题主要考查递归调用的算法及for循环语句的使用。解答本题的关键是热练掌握递归调用的算法及for循环语句的使用.在本题中,result+=i;语句的功能是累加求和,if(n==1)语句的功能是判断当n==1时,累加和为1,return n+sum2(n-1);语句的功能是递归调用sum2(int n)方法求和。

问答题 简答题
单项选择题