niusouti.com

下面的序列中图的序列是A.(3, 2, 0, 1, 5)B.(6, 3, 3, 2, 2)C.(4, 4, 2, 2, 5)D.(7, 6, 8, 4, 9, 5)

题目

下面的序列中图的序列是

A.(3, 2, 0, 1, 5)

B.(6, 3, 3, 2, 2)

C.(4, 4, 2, 2, 5)

D.(7, 6, 8, 4, 9, 5)


相似考题

1.●试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。【说明】将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。例:序列 {6,8,9,1,2,5,4,7,3}经重排后成为{3,4,5,2,1,6,8,9,7}【函数】#include<stdio.h>#include<conio.h>void jsValue(int a[10][9]){int i,j,k,n,temp;int b[9];for(i=0;i<10;i++){temp=a[i][0];k=8;n=0;for(j=8;j=0;j--){if(temp<a[i][j]) (1) =a[i][j];if(temp>a[i][j]) (2) =a[i][j];if(temp=a[i][j]) (3) =temp;}for(j=0;j<9;j++)a[i][j]=b[j];}}void main(){int a[10][9]={{6,8,9,1,2,5,4,7,3},{3,5,8,9,1,2,6,4,7},{8,2,1,9,3,5,4,6,7},{3,5,1,2,9,8,6,7,4},{4,7,8,9,1,2,5,3,6},{4,7,3,5,1,2,6,8,9},{9,1,3,5,8,6,2,4,7},{2,6,1,9,8,3,5,7,4},{5,3,7,9,1,8,2,6,4},{7,1,3,2,5,8,9,4,6}};int i,j;(4) ;for(i=0;i<10;i++){for(j=0;j<9;j++){printf("%d",a[i][j]);if( (5) )printf(",");}printf("\n");}getch();}

更多“下面的序列中图的序列是A.(3, 2, 0, 1, 5)B.(6, 3, 3, 2, 2)C.(4, 4, 2, 2, 5)D.(7, 6, 8, 4, 9, ”相关问题
  • 第1题:

    下列程序的功能是:将一正整数序列{K1,K2,…,K9}重新排成一个新的序列。新序列中,比K1小的数都在K1的左面(后续的再向左存放),比K1大的数都在K1的右面(后续的再向右存放),从K1向右扫描。要求编写函数jsValue()实现此功能,最后调用函数writeDat()把新序列输出到文件out90.dat中。

    说明:在程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。

    例如:序列排序前 {6,8,9,1,2,5,4,7,3}

    序列排序后 {3,4,5,2,1,6,8,9,7}

    注意:部分源程序已给出。

    请勿改动主函数main()和写函数writeDat()的内容。

    试题程序:

    include<stdio.h>

    jsValue(int a[10][9])

    {

    }

    main ()

    {

    int a[10] [9]={{6,8,9,1,2,5,4,7,3},

    {3,5,8,9,1,2,6,4,7},

    {8,2,1,9,3,5,4,6,7},

    {3,5,1,2,9,8,6,7,4},

    {4,7,8,9,1,2,5,3,6},

    {4,7,3,5,1,2,6,8,9},

    {9,1,3,5,8,6,2,4,7},

    {2,6,1,9,8,3,5,7,4},

    {5,3,7,9,1,8,2,6,4},

    {7,1,3,2,5,8,9,4,6},

    };

    int i,j;

    jsValue (a);

    for (i=0;i<10; i++)

    {

    for(j=0;j<9;j++)

    {

    printf("%d",a[i] [j]);

    if(j<=7) printf(",");

    }

    printf ("\n");

    }

    writeDat (a);

    }

    writeDat (int a[10] [9])

    {

    FILE *fp;

    int i,j;

    fp=fopen ("out90.dat", "w");

    for (i=0;i<10; i++)

    {

    for(j=0;j<9;j++)

    {

    fprintf (fp, "%d", a [i] [j] );

    if (j<=7) fprintf (fp, ", ");

    }

    fprintf (fp, "\n");

    }

    fclose (fp);

    }


    正确答案:void jsValue(int a[10][9]) { int valueijknum; for(i=0;i10;i++) { value=a[i][0]; /*将一行的第一个元素赋给value*/ for(j=0;j9;j++) if(a[i][j]value) /*若后面的数中有比第1个数据小的数*/ { num=a[i][j]; /*则把这个数取出赋给num*/ for(k=j;k>0;k--) /*将这个数据左侧的数依次向右移动*/ { a[i][k]=a[i][k-1]; } a[i][0]=num; /*再将这个数放在最左侧*/ } } } [解析] 本题考查的知识点如下: (1)二维数组的访问和数组元素的移动。 (2)循环结构和判断结构的嵌套使用。 数据存放在一个二维数组中每一行数为数据处理的基本单位。将第1个数取出依次和后面的数比较若后面的数中有比第1个数据小的数则将这个数取出。将这个数据左侧的数依次向右移动(包括第1个数)然后将这个数放在最左侧。扫描完一行后比第1个数小的数就都在第1个数的左侧而比它大的就在它的右侧。对数的扫描和移动均可以使用循环实现。再使用循环实现对每一行数据的访问。
    void jsValue(int a[10][9]) { int value,i,j,k,num; for(i=0;i10;i++) { value=a[i][0]; /*将一行的第一个元素赋给value*/ for(j=0;j9;j++) if(a[i][j]value) /*若后面的数中有比第1个数据小的数*/ { num=a[i][j]; /*则把这个数取出,赋给num*/ for(k=j;k>0;k--) /*将这个数据左侧的数依次向右移动*/ { a[i][k]=a[i][k-1]; } a[i][0]=num; /*再将这个数放在最左侧*/ } } } [解析] 本题考查的知识点如下: (1)二维数组的访问和数组元素的移动。 (2)循环结构和判断结构的嵌套使用。 数据存放在一个二维数组中,每一行数为数据处理的基本单位。将第1个数取出依次和后面的数比较,若后面的数中有比第1个数据小的数,则将这个数取出。将这个数据左侧的数依次向右移动(包括第1个数),然后将这个数放在最左侧。扫描完一行后,比第1个数小的数就都在第1个数的左侧,而比它大的就在它的右侧。对数的扫描和移动均可以使用循环实现。再使用循环实现对每一行数据的访问。

  • 第2题:

    对于序列numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],以下相关操作和对应输出正确的是哪一项?

    A.>>> numbers[0: 2] [1, 2, 3]

    B.>>> numbers[: -1] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    C.>>> numbers[-2:] [9, 10]

    D.>>> numbers[0::3] [1, 3, 5, 7, 9]


    >>> numbers[5: -1]

  • 第3题:

    对于序列numbers = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10],以下相关操作和对应输出正确的是哪一项?

    A.>>> numbers[0: 2] [1, 2, 3]

    B.>>> numbers[0: -1] [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]

    C.>>> numbers[-2:] [9, 10]

    D.>>> numbers[0::3] [1, 3, 5, 7, 9]


    >>> numbers[5: -1]

  • 第4题:

    下列程序的功能是:将一个正整数序列{K1, K2,…, K9}重新排列成一个新的序列。在新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面)。要求编写函数jsValue()实现以上功能,最后调用函数writeDat(),将新序列输出到文件out.dat中。说明:程序中已给出了10个序列,每个序列中有9个正整数,并存入数组a[10][9] 中,分别求出这10个新序列。例如:序列{6, 8, 9, 1, 2, 5, 4, 7, 3}重排后为{3, 4, 5, 2, 1, 6, 8, 9, 7}。部分源程序已给出。请勿改动主函数main() 和写函数writeDat() 的内容。#include<stdio.h>void jsValue(int a[10][9]){ } void main(){ int a[10][9]={{6,8,9,1,2,5,4,7,3} {3,5,8,9,1,2,6,4,7} {8,2,1,9,3,5,4,6,7} {3,5,1,2,9,8,6,7,4} {4,7,8,9,1,2,5,3,6} {4,7,3,5,1,2,6,8,9} {9,1,3,5,8,6,2,4,7} {2,6,1,9,8,3,5,7,4} {5,3,7,9,1,8,2,6,4} {7,1,3,2,5,8,9,4,6} }; int i,j; jsValue(a); for(i=0;i<10;i++){ for(j=0;j<9;j++) { printf("%d",a[i][j]); if(j<=7) printf(","); } printf("\n");}writeDat(a);}void writeDat(int a[10][9]){ FILE *fp; int i,j; fp=fopen("out.dat","w"); for(i=0;i<10;i++){ for(j=0;j<9;j++){ fprintf(fp,"%d",a[i][j]); if(j<=7) fprintf(fp,","); } fprintf(fp,"\n");} fclose(fp);}


    正确答案:参考试题解析
    【解析及答案】
    本题的任务是把排序函数jsValue() 补充完整。本题的处理过程是对数组a[10][9] 中的每行数据分别处理,然后再放置到原来的数组a[10][9] 中。求解时需要使用一个[10][9] 的临时数组b存放处理时的中间结果。数组a处理完以后,就用数组b的内容代替数组a的内容。对每行数据进行处理时,首先需要准备两个指示器nk,分别指向数组b中该行的开头和结尾。然后,反向扫描数组a中对应的行。如果碰到比该行第1个数据值大的元素,就将其放到指示器k指向的位置;如果碰到比其数据值小的元素,就将其放到指示器n指向的位置。处理完以后,还要移动指示器nk,使其定位在新的位置,以接收后面的数据。如果碰到和其数据值相等的元素,由题意可知,这样的元素在新数组中只允许出现1次,所以直接把这个元素放到指示器nk指向的位置即可,但不必移动指示器,否则该元素有可能出现多次。综上所述,完整的排序函数jsValue() 如下。
    jsvalue(int a[10][9])
    {
      int i,j,k,n,temp;
      int b[9]=0;
       for(i=0;i<10;i++)

        temp=a[i][0];
         k=8; 
        n=0;
        for(j=8,j>=0;j--)     
    {    
          if(temp<a[i][j]) 
              b[k--]=a[i][j];
          if(temp>a[i][j])  
              b[n++]=a[i][j];
          if(temp==a[i][j])  
              b[n]=temp;     /*也可以b[k]=a[i][j];*/
    }
        for(j=0;j<9;j++)
      {
          a[i][j]=b[j];
          b[j]=0;}
      }
    }

  • 第5题:

    数据序列(10,9,8,7,6,5,4,3,2,1)采用二路归并排序方法进行递增排序,第2趟排序结束后的结果是()。

    A.(9,10,7,8,5,6,3,4,1,2)

    B.(7,8,9,10,3,4,5,6,1,2)

    C.(1,2,3,4,5,6,7,8,9,10)

    D.(1,2,3,4,7,8,9,10,1,2)


    B