5.3 数组编程练习

完成下面的练习

练习题

  • 编程题。以下题目的数组的赋值必须用循环完成。
    1.(****)综合上面两题 (10分) [编程]
    已知数组a[],使用一次循环打印出里面的最大值和最小值。
    提示:定义一个变量max作为最大值,一个变量min
    int a[]={4,-9,56,373,-66,100,-98,299};
    
    2.(*)定义一个整型数组k1,长度为10,然后把奇数赋值给元素。也就是数组是1、3、5、7、9...等等。 (10分) [编程]
    3.(*****)定义一个整型数组,长度为10,数组的元素值是:0、1、2、3、4、5、6、7、8、9。 [编程(无自动批改)]
    要求这样打印数组:输入一个整数作为下标,如果没有越界,那么打印该元素,如果越界则打印“越界”。重复输入数字,直到数组的所有元素都打印完毕,每个元素只能打印一次。
    提示:用另外一个数组来记录是否打印过
    4.(*)定义一个整型数组k2,长度为10,然后把偶数赋值给元素。也就是数组是2、4、6、8、10...等等。 (10分) [编程]
    5.(*)定义一个整型数组k3,长度为10,然后把能被7整除的数字赋值给元素。也就是数组是7、14、21、28、35...等等。 (10分) [编程]
    6.(*)定义一个整型数组k4,长度为4,然后每个元素的值都从键盘输入。 (10分) [编程]
    import java.util.Scanner;
    提示:输入语句在循环体内
    7.(**)定义一个整型数组k5,长度为10,每个元素的值都从键盘输入。然后再输入一个整数,打印以这个整数为下标的元素的值,如果越界,打印“越界”。 (10分) [编程]
    import java.util.Scanner;
    例如输入的是5,就输出k5[5],其实就是判断这个数字是不是大于等于0并且小于等于9,是的话打印出来,不是的话打印“越界”
    8.(**)定义一个整型数组fibo,长度为10,数组的头两个元素的值是1和2,从第三个元素开始,元素值等于前面两个元素之和。最后打印整个数组。 (10分) [编程]
    开始两个数字是1,2,接下来就是3,5,8,13……这样的数列叫斐波那契数列,n/n+1的值越到后面越接近黄金分割0.618
    提示:先给fibo[0]和fibo[1]赋值,然后i从2开始循环
    9.(****)查找 (10分) [编程]
    import java.util.Scanner;
    已知数组int a[] = {16,23,-3,4,56,6,77,84}
    键盘输入一个数字,赋给变量k,如果k在数组中,那么打印“存在”,否则打印“不存在”。
    提示:这是最简单的一种查找算法,遍历数组,找到就停止。设置一个布尔变量表示存在,初值设为false。遍历数组,对比每个元素是否和k相等,如果相等,那么这个布尔变量改为true,同时结束循环(break)。最后用if语句判断这个布尔变量是true还是false就知道数是否存在于数组中。

    本题要求循环变量用i
    10.(**)求两个数组的和。 (10分) [编程]
    已知两个数组,长度相同
    int t1[]={13,24,35,46,27,38,19,20};
    int t2[]={4,-9,56,73,66,0,98,299};
    然后把两个数组相同下标的元素相加,结果放到第三个数组上,最后打印结果。
    int t1[]={13,24,35,46,27,38,19,20};int t2[]={4,-9,56,73,66,0,98,299};
    
    11.(****)求数组的最大值 (10分) [编程]
    已知数组,int a[] = {16,23,-3,4,56,6,77,84};
    遍历整个数组,然后打印数组的最大值
    提示:定义一个变量max作为最大值,初值是第一个元素的值。然后遍历数组,只要遇到比max更大的元素,就把该值赋给max。循环结束后max就是最大值。
    12.(****)求数组的最小值 (10分) [编程]
    已知数组,int a[] = {16,23,-3,4,56,6,77,84};
    遍历整个数组,然后打印数组的最小值