Java语言程序设计与数据结构(基础篇)课后练习题 第一章

1.1

public class diyizhang {

public static void main(String[] args){
    System.out.println("Welcome to java");
    System.out.println("Welcome to computer science");
    System.out.println("Programming is fun");
}

}

1.2

public class diyizhang {

public static void main(String[] args){
        for(int i=0; i<5; i++)
            System.out.println("Welcome to java");
}

}

1.3

public class diyizhang {

public static void main(String[] args){
        System.out.printf("   J     A     V     V     A%n" +
                          "   J    A A     V   V     A A%n" +
                          "J  J   AAAAA     V V     AAAAA%n" +
                          " JJ   A     A     V     A     A%n");
    }

}

1.4

public class diyizhang {

public static void main(String[] args){
        String head1="a";
        String head2="a^2";
        String head3="a^3";
        System.out.printf("%-8s%-8s%-8s%n",head1,head2,head3);
        for(int i=1;i<5;i++)
            System.out.printf("%-8d%-8d%-8d%n",i,i*i,i*i*i);
}

}

1.5

public class diyizhang {

public static void main(String[] args){
        double result=(9.5*4.5-2.5*3.0)/(45.5-3.5);
        System.out.println(result);
}

}

1.6

public class disizhang{

public static void main(String[] args){
        int sum=0;
        for(int i=1;i<10;i++)
            sum+=i;
        System.out.println(sum);
}

}

1.7

public class diyizhang{

public static void main(String[] args)
    {
        double signal = 1.0;
        double sum = 0.0;
        for(int i=1;i<7;i++)
        {
            sum+=signal*1.0/(2*i-1);
            signal*=-1.0;
        }
        System.out.println(4.0*sum);
        sum = 0.0;
        for(int i=1;i<8;i++)
        {
            sum+=signal*1.0/(2*i-1);
            signal*=-1.0;
        }
        System.out.println(4.0*sum);
}

}

1.8

public class diyizhang {

public static void main(String[] args){
        double pi = 3.141592654;  //1145141919810
        System.out.println("The circumference is "+2.0*pi*5.5+", and the square is "+pi*5.5*5.5+".");
}

}

1.9

public class diyizhang{

public static void main(String[] args){
        double width = 4.5;
        double height = 7.9;
        System.out.println("The square is "+width*height+", and the circumference is "+2*(width+height)+".");
 }

}

1.10

public class diyizhang{

public static void main(String[] args){
        System.out.println("The average speed is "+(14.0/1.6)/(45.0/60.0+30.0/3600.0)+" miles per hour.");
}

}

1.11

public class diyizhang {

public static void main(String[] args){
        double base = 312032486;
        int secnum = 365*24*3600;
        for(int i=1;i<6;i++)
        {
            base=base+secnum/7.0-secnum/13.0+secnum/45.0;
            System.out.println("The population in year "+i+" is "+(int)base);
        }
}

}

1.12

public class diyizhang {

public static void main(String[] args){
        System.out.println("The average speed is "+24*1.6/(1+40/60.0+35.0/3500)+" kilometers per hour.");
}

}

1.13

public class diyizhang {

public static void main(String[] args){
        double a=3.4,b=50.2,e=44.5;
        double c=2.1,d=0.55,f=5.9;
        System.out.println("x is "+(e*d-b*f)/(a*d-b*c)+", and y is "+(a*f-e*c)/(a*d-b*c)+".");
}

}

第一章习题 完

1.1 单项选择题 1. 数据结构是一门研究非数值计算的程序设计问题中,数据元素的① 、数据信息在计算机中的② 以及一组相关的运算等的课程。 ① A.操作对象   B.计算方法  C.逻辑结构  D.数据映象 ② A.存储结构 B.关系 C.运算 D.算法 2. 数据结构DS(Data Struct)可以被形式地定义为DS=(D,R),其中D是① 的有限集合,R是D上的② 有限集合。 ① A.算法 B.数据元素 C.数据操作 D.数据对象 ② A.操作 B.映象 C.存储 D.关系 3. 在数据结构中,从逻辑上可以把数据结构分成 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 4. 算法分析的目的是① ,算法分析的两个主要方面是② 。 ① A. 找出数据结构的合理性 B. 研究算法中的输入和输出的关系 C. 分析算法的效率以求改进 D. 分析算法的易懂性和文档性 ② A. 空间复杂性和时间复杂性 B. 正确性和简明性 C. 可读性和文档性 D. 数据复杂性和程序复杂性 5. 计算机算法指的是① ,它必具备输入、输出和② 等五个特性。 ① A. 计算方法 B. 排序方法 C. 解决问题的有限运算序列 D. 调度方法 ② A. 可行性、可移植性和可扩充性 B. 可行性、确定性和有穷性 C. 确定性、有穷性和稳定性 D. 易读性、稳定性和安全性 1.2 填空题(将正确的答案填在相应的空中) 1. 数据逻辑结构包括 、 、 和 四种类型,树形结构和图形结构合称为 。 2. 在线性结构中,第一个结点 前驱结点,其余每个结点有且只有 个前驱结点;最后一个结点 后续结点,其余每个结点有且只有 个后续结点。 3. 在树形结构中,树根结点没有 结点,其余每个结点有且只有 个直接前驱结点,叶子结点没有 结点,其余每个结点的直接后续结点可以 。 4. 在图形结构中,每个结点的前驱结点数和后续结点数可以 。 5. 线性结构中元素之间存在 关系,树形结构中元素之间存在 关系,图形结构中元素之间存在 关系。 6. 算法的五个重要特性是__ __ , __ __ , ___ _ , __ __ , _ ___。 7. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是__ __。 for (i=0;i<n;i++) for (j=0;j<n; j++) A[i][j]=0; 8. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是__ __。 for (i=0;i<n;i++) for (j=0; j<i; j++) A[i][j]=0; 9. 分析下面算法(程序段),给出最大语句频度 ,该算法的时间复杂度是__ __。 s=0; for (i=0;i<n;i++) for (j=0;j<n;j++) for (k=0;k<n;k++) s=s+B[i][j][k]; sum=s; 10. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __。 int i=0,s=0; while (s<n) { i++; s+=i; //s=s+i } 11. 分析下面算法(程序段)给出最大语句频度 ,该算法的时间复杂度是__ __。 i=1; while (i<=n) i=i*2;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

xupengboo

你的鼓励将是我创作最大的动力。

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值