20165326 第四周课堂测试

第四周课堂测试

知识点:命令行参数(字符串改变为int型输入),递归,利用jdb进行调试

一开始写的时候利用了for循环

for(int t:tmp){
    int sum=0;
    if(t<0)
      System.out.println("wrong");
    else{
    for(int i=1;i<=t;i++){
    int a=1;
        for(int j=1;j<=i;j++){
          a=a*j;
        }
      sum=sum+a;
    }
    if(sum<0)
      System.out.println("溢出");
    else
      System.out.println(sum);

虽然输出结果相同,但是在jdb执行中无返回值,不符合题意,改为

for(int i=0; i<args.length; i++) {
            tmp[i] = Integer.parseInt(args[i]);
         }
        int sum = 0;
        for (int i=1;i<=tmp[0];i++) {
            sum += fact(i);
        }
        System.out.println(sum);
    }

    public static int fact(int n) {
        if (n == 0)
             return 1;
        else
             return n * fact(n-1);
    }
}

jdb调试如下图

需要先用-g编写才能使用locals查看本地变量

使用next和step来单步调试

原文地址:https://www.cnblogs.com/Czzzz/p/8645408.html

时间: 2024-11-05 22:03:40

20165326 第四周课堂测试的相关文章

第四周课堂测试汇编2完善

第四周汇编2课堂测试画的图抽象且不完整,这里做一下补充. (1)源代码: int g(int x){ return x+3; } int f(int x){ int i=2: return g(x)+i; } int main(void){ return f(8)+1; } (2)汇编代码: g: pushl %ebp movl %esp, %ebp movl 8(%ebp), %eax addl $3, %eax popl %ebp ret f: pushl %ebp movl %esp, %

第四周课堂测试

源代码: #include<iostream> using namespace std; int Largest(int list[],int length) { int i,max; max=list[0]; for(i=1;i<length;i++){ if(list[i]>max){ max=list[i]; } } return max; } void main() { int length,i,max; cout<<"请输入需要比较的数字个数:&qu

第四周课堂测试补做

课上作业补做 循环与递归 第二章编程题 P32 4.1 P32 4.2 第三章编程题 P49 4.1 P49 4.2 P49 4.3 P49 4.4 P49 4.5 P49 4.6 原文地址:https://www.cnblogs.com/zhuyue-study/p/8647566.html

课堂测试1 登录界面

1.网站系统开发需要什么技术 前台photoshop(美工必学的)+dreaweaver(css+div)+javacript,后台php .net  asp 等编程语言,要想做好网站HTML.JAVASCRIPT.CSS.数据库.服务器配置必须要学会. 在网上查了一下,要做好一个网站系统,要学习的技术有很多,简单列举一下: (1)java Java语言体系比较庞大,包括多个模块.从WEB项目应用角度讲有JSP.Servlet.JDBC.JavaBean(Application)四部分技术. (

课堂测试——数据位数、位数输出、各位数上数据求和

2016.10.18Java课堂测试 在课堂上写的时候,写到各位书身上数据输出时.因为处理不好取最高位的步骤所以不能继续进行编程. 经过后期查找之后: 引用import static java.lang.Math.*; 求x的y次方运算,Math.pow(x,y); 求整数部分,Math.floor();//这里运行之后发现是double类型所以又用了强制转换. 将Int转换为Double类型,int number1=(int) number2; 另外的问题就是: 因为数据上存在多次变化使用,所

2017-2018-1 20155336 《信息安全系统设计基础》第八周课堂测试

2017-2018-1 20155336 <信息安全系统设计基础>第八周课堂测试 1.求命令行传入整数参数的和 参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成"求命令行传入整数参数的和" 测试代码传入自己的8位学号 上方提交代码 附件提交运行测试截图 解答: 编写代码 #include <stdio.h> void main(int argc,char** argv) { int

20155321 《信息安全系统设计》课堂测试(ch06)

20155321 <信息安全系统设计>课堂测试(ch06) (单选题|1分)下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为() A .1 B .1/4 C .1/2 D. 3/4 解析:P431,填充消除了冲突不命中,因此,四分之三的引用是命中的 正确答案:D (多选题|1分)有关高速缓存的说法正确的是() A .高速缓存的容量可以用C=SEB来计算 B .高速缓存容量为2048,高速缓存结构为(32,8,8,32) C .直接映射高速缓存要:组选择.行匹配.字抽

2017-2018-1 20155232 《信息安全系统设计基础》第十周课堂测试(ch06)补交

# 2017-2018-1 20155232 <信息安全系统设计基础>第十周课堂测试(ch06)补交 上课时完成测试后在提交的时候,没有提交成功,进行补交. 1.下面代码中,对数组x填充后,采用直接映射高速缓存,所有对x和y引用的命中率为() A 1 B 1/4 C 1/2 D 3/4 正确答案: D 解析:p431----缓存命中:当程序需要第(k+1)层的数据对象d的时候,首先会在第k层找d:如果d刚好缓存在第k层,那么就叫做缓存命中:反之,不命中,在填充了之后,对于x和y数组,只有在引用

20162307 课堂测试 hash

20162307 课堂测试 hash 作业要求 利用除留余数法为下列关键字集合的存储设计hash函数,并画出分别用开放寻址法和拉链法解决冲突得到的空间存储状态(散列因子取0.75) 关键字集合:85,75,57,60,65,(你的8位学号相加值),98,74,89,12,5,46,97,13,69,52,92 实验知识点 开放寻址法 基本思想 在散列表中形成一个探查序列,沿此序列逐单元进行查找,直到找到一个空的单元时将新结点放入. 拉链法 基本思想 将所有关键字为同义词的结点链接到同一个单链表中