zoukankan      html  css  js  c++  java
  • # 20155224课上测试补完+课下作业

    20155224课上测试补完+课下作业

    测试1

    • 要求:

    参考 http://www.cnblogs.com/rocedu/p/6766748.html#SECCLA 在Linux下完成“求命令行传入整数参数的和”

    测试代码传入自己的8位学号

    上方提交代码

    附件提交运行测试截图

    import java.util.*;
    
    public class CLSum {
        public static void main(String [] args) {
    
            int sum = 0;
    
            for(String arg: args)
                sum += Integer.parseInt(arg);//将老师代码中的 Interger改为 Integer
    
        // 打印
            System.out.println(sum);
        }
    }
    
    • 结果:
    #include <stdio.h>
    void main(int argc,char** argv)
    {
            int i,a,sum=0;
            for(i=1;i<argc;i++)
            {
                    a=atoi(argv[i]);
                    sum = sum +a;
            }
            printf("%d
    ",sum);
    }
    

    测试2

    • 要求:

    把第一个练习中的代码在X86-64(Ubuntu)中反汇编,给出汇编代码和机器码的截图

    把X86-64汇编翻译成Y86-64汇编,并给出相应机器码的截图(使用附件中的Y86-64模拟器)

    • 结果:

    测试3

    • 要求:

    基于socket 使用教材的csapp.h csapp.c,实现daytime(13)服务器(端口我们使用13+后三位学号)和客户端
    服务器响应消息格式是

    客户端IP:XXXX
    服务器实现者学号:XXXXXXXX
    当前时间: XX:XX:XX

    上方提交代码
    提交一个客户端至少查询三次时间的截图测试截图
    提交至少两个客户端查询时间的截图测试截图

    • 结果:

    课下作业1

    1. 完成家庭作业4.47,4.48,4.49
    2. 相应代码反汇编成X86-64汇编
    3. 把上述X86-64汇编翻译成Y86汇编,并给出相应机器码
    • 4.47
      • 要求:书写一个C版本的冒泡排序法,用指针引用数组元素,而不是数组索引。书写并测试这个函数和测试代码组成的Y86-64程序。
      • 结果:
    #include<stdio.h>
    void bubble_a(int *data, int count){
        int i,next;
        for(next = 1; next < count; next++){
            for(i = next - 1; i >= 0; i--)
                if(*(data + i + 1) < *(data + i)){
                    int t = *(data + i + 1);
                    *(data + i + 1) = *(data + i);
                    *(data + i) = t;
                }
        }
    }
    void main()
    {
        int data[5]={4,90,2,6,0};
        int i;
        bubble_a(data,5);
        for(i=0;i<5;i++)
        {
            printf("%2d
    ",data[i]);
        }
    }
    

    • 4.48
      • 要求:实现冒泡排序,要求不使用跳转,且最多使用3次条件传送。
      • 结果:
    #include<stdio.h>
    void bubble_a(int *data,int count)
    {
        int i , next;
        int pre_ele,next_ele;
        for(next = 1;next < count;next++)
        {
            for(i = next -1;i >= 0;i--)
            {
                pre_ele = *(data + i);
                next_ele = *(data + i + 1);
                *(data + i) = next_ele < pre_ele ? next_ele : pre_ele;//三目运算符号
                *(data + i + 1) = next_ele < pre_ele ? pre_ele : next_ele;//使用两次条件传送
            }
        }
    }
    void main()
    {
        int data[5]={4,90,2,6,0};
        int i;
        bubble_a(data,5);
        for(i=0;i<5;i++)
        {
            printf("%2d
    ",data[i]);
        }
    } 
    

    • 4.49
      • 要求:实现冒泡排序,要求不使用跳转,且最多使用1次条件传送。
      • 结果:
    #include<stdio.h>
    void bubble_c(int *data,int count)
    {
        int i , next;
        int pre_ele,next_ele;
        for(next = 1;next < count;next++)
        {
            for(i = next -1;i >= 0;i--)
            {
                pre_ele = *(data + i);
                next_ele = *(data + i + 1);
                *(data + i) = next_ele < pre_ele ? next_ele : pre_ele;
                *(data + i + 1) = pre_ele;
            }
        }
    }
    void main()
    {
        int data[5]={4,90,2,6,0};
        int i;
        bubble_a(data,5);
        for(i=0;i<5;i++)
        {
            printf("%2d
    ",data[i]);
        }
    }  
    

    课下作业2

    - 要求:把课上练习3的daytime服务器分别用多进程和多线程实现成并发服务器并测试
  • 相关阅读:
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & ManacherK
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I
    pat 1065 A+B and C (64bit)(20 分)(大数, Java)
    pat 1069 The Black Hole of Numbers(20 分)
    pat 1077 Kuchiguse(20 分) (字典树)
    pat 1084 Broken Keyboard(20 分)
    pat 1092 To Buy or Not to Buy(20 分)
    pat 1046 Shortest Distance(20 分) (线段树)
    pat 1042 Shuffling Machine(20 分)
  • 原文地址:https://www.cnblogs.com/nxy970408/p/7816915.html
Copyright © 2011-2022 走看看