更多“利用Math类获取5个随机整数范围在(15,30),不能重复,放在数组中,冒泡排序后遍历输出。”相关问题
  • 第1题:

    程序运行后,利用冒泡法对数组a中的数据按从小到大排序。请在空白处填上适当的内容,在横线处应填写( )。

    A. Form=0 To 4

    B. Form=0 To 4

    C. Form=1 To 4

    D. Form=1 To 4


    正确答案:C
    C)    【解析】本题考查冒泡排序。可通过双重循环来实现冒泡排序,题中内层循环进行的是相邻元素两两比较,每一轮使未排序中的最大数移动到数组最后的元素中。外层循环需要进行的次数计算方法为:有n个数要排序时,则要进行n-1轮外层循环。题中共有5个数,因此外循环进行4轮,所以m最大值为4。

  • 第2题:

    文件中有一组整数,要求排序后输出到另一个文

    件中


    正确答案:

     

    #i nclude<iostream>
    #i nclude<fstream>
    using namespace std;
    void Order(vector<int>& data) //bubble sort
    {
    int count = data.size() ;
    int tag = false ; // 设置是否需要继续冒泡的标志位
    for ( int i = 0 ; i < count ; i++)
    {
    for ( int j = 0 ; j < count - i - 1 ; j++)
    {
    if ( data[j] > data[j+1])
    {
    tag = true ;
    int temp = data[j] ;
    data[j] = data[j+1] ;
    data[j+1] = temp ;
    }
    }
    if ( !tag )
    break ;
    }
    }
    void main( void )
    {
    vector<int>data;
    ifstream in("c:\\data.txt");
    if ( !in)
    {
    cout<<"file error!";
    exit(1);
    }
    int temp;
    while (!in.eof())
    {
    in>>temp;
    data.push_back(temp);
    }
    in.close(); //关闭输入文件流
    Order(data);
    ofstream out("c:\\result.txt");
    if ( !out)
    {
    cout<<"file error!";
    exit(1);
    }
    for ( i = 0 ; i < data.size() ; i++)
    out<<data[i]<<" ";
    out.close(); //关闭输出文件流
    }

  • 第3题:

    有一组无序排列的整数数组如{1,5,7,9,2} 通过算法实现对该数组按从大到小的顺序进行排序,输出排序后的结果同时输入原始数组的数组索引下标,如输出排序结果为{9,7,5,2,1},输出原始数组索引下标为{3,2,1,4,0}。


    正确答案:
     

  • 第4题:

    下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位置上的是【】

    A.直接插入排序

    B.冒泡排序

    C.快速排序

    D.堆排序


    正确答案:A
    [解析]B、C、D三种排序在一趟排序结束后都能选出一个元素,放在其最终位置上,只有插入排序,做一趟排序完成的是把当前待排序列中的第一个元素插入到有序序列的适当位置,但并不能保证这个位置是最终位置.

  • 第5题:

    String str = "svd9876fsb543fdg210";将字符串中所有偶数转为int[] 数组,再对数组冒泡排序,最后使用Arrays输出数组。


    答案:
    import java.lang.reflect.Array;
    import java.util.Arrays;
    public class Chap54e {
    public static void main(String[] args) {
    String str="svd9876fsb543fdg210";
    StringBuffer sf=new StringBuffer();
    int a,i,j;
    for(i=0;i
    {
    if(str.charAt(i)>='0'&&str.charAt(i)<='9')
    { a=Integer.valueOf(String.valueOf(str.charAt(i)));
    //或 a=Integer.parseInt(String.valueOf(str.charAt(i)));
    if(a%2==0)
    {sf.append(a);}
    }
    }
    int[] arr=new int[sf.length()];
    for(i=0;i
    {
    arr[i]=Integer.valueOf(String.valueOf(sf.charAt(i)));
    }
    for(int k:arr)
    System.out.println(k);
    System.out.println("");
    for(i=0;i
    for(j=0;j
    {
    int temp;
    if(arr[j]>arr[j+1])
    {
    temp=arr[j];
    arr[j]=arr[j+1];
    arr[j+1]=temp;// TODO Auto-generated method stub
    }
    }
    System.out.println(Arrays.toString(arr));
    }
    }
    【参考答案二】
    import java.util.Arrays;
    public class Chap54e {
    public static void main(String[] args) {
    // 1.String str = "svd9876fsb543fdg210";将字符串中所有偶数转为int[] 数组,
    // 再对数组冒泡排序,最后使用Arrays输出数组。
    String str = "svd9876fsb543fdg210";
    StringBuilder sb = new StringBuilder();
    // 1.遍历字符串,获取每个字符
    for (int i = 0; i < str.length(); i++) {
    char charAt = str.charAt(i);
    // 2.判断当前字符是否为数字,
    if (Character.isDigit(charAt)) {// 如果是数字
    // 3.再判断该字符是否为偶数如果是偶数
    // char--->String--->int
    int parseInt = Integer.parseInt(String.valueOf(charAt));
    if (parseInt % 2 == 0) {
    // 保存起来
    sb.append(parseInt);
    }
    }
    }
    System.out.println("sb:" + sb);
    // 4.根据保存偶数数字的个数来创建int[]
    int[] arr = new int[sb.length()];
    for (int i = 0; i < sb.length(); i++) {
    char charAt = sb.charAt(i);// 获取sb中下表为i的字符
    // 将该字符转为int类型
    int parseInt = Integer.parseInt(String.valueOf(charAt));
    // 5.将存储的数字赋值给int[]
    // 将该int类型的值赋值给数组下表为i的元素
    arr[i] = parseInt;
    }
    System.out.println(Arrays.toString(arr));
    // 6.冒泡
    maoPao(arr);
    // 7.输出
    System.out.println(Arrays.toString(arr));
    }
    /**
    * 对数组冒泡排序
    *
    * @param arr
    * 被排序的数组
    */
    public static void maoPao(int[] arr) {
    for (int i = 0; i < arr.length - 1; i++) {
    for (int j = 0; j < arr.length - 1 - i; j++) {
    if (arr[j] > arr[j + 1]) {
    int temp = arr[j];
    arr[j] = arr[j + 1];
    arr[j + 1] = temp;
    }
    }
    }
    }
    }

  • 第6题:

    以下冒泡法程序对存放在a[1],a[2],……,a[n]中的序列进行冒泡排序完成程序中的空格部分,其中n是元素个数,要求按升序排列。
    (1)j<=n-1
    (2)i<=n-j
    (3)a[i]=a[i+1]
    (4)a[i+1]=temp
    (5)当某趟冒泡中没有出现交换则已排好序结束循环。

  • 第7题:

    下列排序算法中,哪种排序方法在一趟结束后不一定能选出一个元素放在其最终位置上。()

    • A、 简单选择排序
    • B、 冒泡排序
    • C、 归并排序
    • D、 堆排序

    正确答案:C

  • 第8题:

    一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()

    • A、堆排序
    • B、冒泡排序
    • C、快速排序
    • D、希尔排序

    正确答案:D

  • 第9题:

    冒泡排序(BubbleSort)如果一个数组有10个元素,那么要从小到大排列,利用冒泡排序法需要几趟比较过程()

    • A、10次
    • B、8次
    • C、7次
    • D、9次

    正确答案:D

  • 第10题:

    以下()表达式产生一个0~7之间(含0,7)的随机整数。

    • A、Math.floor(Math.random()*6)
    • B、Math.floor(Math.random()*7)
    • C、Math.floor(Math.random()*8)
    • D、Math.ceil(Math.random()*8)

    正确答案:B

  • 第11题:

    单选题
    一趟排序结束后不一定能够选出一个元素放在其最终位置上的是()
    A

    堆排序

    B

    冒泡排序

    C

    快速排序

    D

    希尔排序


    正确答案: D
    解析: 暂无解析

  • 第12题:

    单选题
    数组传递至循环结构时,使用For循环的优势是()
    A

    For循环允许在结构边框调整数组大小

    B

    For循环允许在结构边框自动初始化数组

    C

    遍历数组时For循环可获取最佳性能

    D

    默认情况下For循环允许自动索引数组


    正确答案: C
    解析: 暂无解析

  • 第13题:

    用C#实现以下功能

    a 产生一个int数组,长度为100,并向其中随机插入1-100,并且不能重复。

    b 对上面生成的数组排序,需要支持升序、降序两种顺序


    正确答案:
     

  • 第14题:

    补充程序Ccon042.C,使程序中的sort()函数用冒泡法对数组a中的m个元素从大到小排序


    for(i=0;i</**/m-1/**/;i++)
    if/**/(a[j]<a[j+1])/**/
    a[j]=/**/a[j+1]/**/;

  • 第15题:

    Math类中,用于获取绝对值的方法是()


    答案:abs()

  • 第16题:

    利用Random类来产生5个20`30之间的随机整数并输出。


    答案:
    import java.util.Random;
    public class Chap5e {
    public static void main(String[] args) {
    Random r=new Random();
    for(int i=0;i<5;i++)
    {
    System.out.println(r.nextInt(30-20+1)+20);
    }
    }
    }

  • 第17题:

    下列排序算法中,某一趟结束后未必能选出一个元素放在其最终位亘上的是()。

    A.堆排序
    B.冒泡排序
    C.快速排序
    D.直接插入排序

    答案:D
    解析:
    起泡排序和堆排序一趟排序后,在序列两端应该有最大或最小值。快速排序一趟排序后,用来划分的元素位置不变。直接插人排序在已经排序好的序列的适当位置上插入关键字,因此可能需要移动元素。

  • 第18题:

    数组传递至循环结构时,使用For循环的优势是()

    • A、For循环允许在结构边框调整数组大小
    • B、For循环允许在结构边框自动初始化数组
    • C、遍历数组时For循环可获取最佳性能
    • D、默认情况下For循环允许自动索引数组

    正确答案:D

  • 第19题:

    在Math类中random方法可以产生随机数。如果从1到100之间产生一个随机整数(大于等于1,小于等于100),并赋值给n,那么下面语句正确的是()。

    • A、n=Math.round(Math.random(100))+1;
    • B、n=Math.round(Math.random()*100)+1;
    • C、n=Math.floor(Math.random(100))+1;
    • D、n=Math.floor(Math.random()*100)+1;

    正确答案:D

  • 第20题:

    冒泡排序对一维数组进行从大到小排序,一趟排序后会将数组中的()排到最后

    • A、最大值
    • B、最小值
    • C、下标最大的值
    • D、下标最小的值

    正确答案:B

  • 第21题:

    冒泡排序算法中降序排序指的是()

    • A、从高到低排列数组元素值
    • B、从低到高排列数组元素的值
    • C、由横向到纵向排列数组元素的值
    • D、由纵向到横向排列数组元素的值

    正确答案:A

  • 第22题:

    函数vat_dump的意义是()

    • A、定义数组
    • B、遍历数组
    • C、输出变量的相关信息
    • D、递归数组

    正确答案:C

  • 第23题:

    单选题
    下列排序算法中,哪种排序方法在一趟结束后不一定能选出一个元素放在其最终位置上。()
    A

     简单选择排序

    B

     冒泡排序

    C

     归并排序

    D

     堆排序


    正确答案: B
    解析: 暂无解析