参考答案和解析

正确答案:B
解答参考:B.当对方因事表示道歉时,应进行宽慰,而D则答非所问。

更多“– I feel awful. I’ve left your book somewhere. –() ”相关问题
  • 第1题:

    阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。

    【说明】下面是一个用C编写的快速排序算法。为了避免最坏情况,取基准记录pivot时,采用从left、right和mid=[(left+right)/2]中取中间值,并交换到right位置的办法。数组a存放待排序的一组记录,数据类型为T,left和right是待排序子区间的最左端点和最右端点。

    void quicksort (int a[], int left, int right) {

    int temp;

    if (left<right) {

    hat pivot = median3 (a, left, right); //三者取中子程序

    int i = left, j = right-1;

    for(;;){

    while (i <j && a[i] < pivot) i++;

    while (i <j && pivot < a[j]) j--;

    if(i<j){

    temp = a[i]; a[j] = a[i]; a[i] = temp;

    i++; j--;

    }

    else break;

    }

    if (a[i] > pivot)

    {temp = a[i]; a[i] = a[right]; a[right] = temp;}

    quicksort( (1) ); //递归排序左子区间

    quieksort(a,i+1 ,right); //递归排序右子区间

    }

    }

    void median3 (int a[], int left, int right)

    { int mid=(2);

    int k = left;

    if(a[mid] < a[k])k = mid;

    if(a[high] < a[k]) k = high; //选最小记录

    int temp = a[k]; a[k] = a[left]; a[left] = temp; //最小者交换到 left

    if(a[mid] < a[right])

    {temp=a[mid]; a[mid]=a[right]; a[right]=temp;}

    }

    消去第二个递归调用 quicksort (a,i+1,right)。 采用循环的办法:

    void quicksort (int a[], int left, int right) {

    int temp; int i,j;

    (3) {

    int pivot = median3(a, left, right); //三者取中子程序

    i = left; j = righi-1;

    for (;; ){

    while (i<j && a[i] < pivot)i++;

    while (i<j && pivot <a[j]) j--;

    if(i <j) {

    temp = a[i]; a[j]; = a[i]; a[i]=temp;

    i++; j--;

    }

    else break;

    }

    if(a[i]>pivot){(4);a[i]=pivot;}

    quicksoft ((5)); //递归排序左子区间

    left = i+1;

    }

    }


    正确答案:(1)alefti-1 (2)(left+right+1)/2 (3)while(leftright) (4)a[right)=a[i] (5)aleft i-1
    (1)a,left,i-1 (2)(left+right+1)/2 (3)while(leftright) (4)a[right)=a[i] (5)a,left, i-1 解析:(1)a,left,i-1
    递归排序左子区间,从left到i-1元素,不包括i元素。
    (2)(left+right+1)/2
    三者取中子程序median3(a,left,right),取基准记录pivot时,采用从left、right和 mid=[(left+right)/2]中取中间值,并交换到right位置的办法。
    (3)while(leftright)
    循环直到left和right相遇。
    (4)a[right)=a[i]
    若a[i]>pivot则让a[right]=a[i]而让a[i]=pivot;。
    (5)a,left, i-1
    递归排序左子区间,从left到i-1元素,不包括i元素。

  • 第2题:

    B 宽度优先(种子染色法)

    5.关键路径

    几个定义: 顶点1为源点,n为汇点。

    a. 顶点事件最早发生时间Ve[j], Ve [j] = max{ Ve [j] + w[I,j] },其中Ve (1) = 0;

    b. 顶点事件最晚发生时间 Vl[j], Vl [j] = min{ Vl[j] – w[I,j] },其中 Vl(n) = Ve(n);

    c. 边活动最早开始时间 Ee[I], 若边I由<j,k>表示,则Ee[I] = Ve[j];

    d. 边活动最晚开始时间 El[I], 若边I由<j,k>表示,则El[I] = Vl[k] – w[j,k];

    若 Ee[j] = El[j] ,则活动j为关键活动,由关键活动组成的路径为关键路径。

    求解方法:

    a. 从源点起topsort,判断是否有回路并计算Ve;


    正确答案:

     

     

  • 第3题:

    下列程序段的结果为______。 A="ABBACDDCBA" For I=6 To 2 Step-2 X=Mid(A,I,I) Y=Left(A,I) Z=Right(A,I) Z=X&Y&Z Next I Print Z

    A.ABA

    B.AABAAB

    C.BBABBA

    D.ABBABA


    正确答案:C
    解析:Right(字符串,n):返回字符串的最后n个字符。
    Mid(字符串,p,n):从第p个字符开始,向后截取n个字符。p和n都是算术表达式。
    Left(字符串,n):返回“字符串”的前n个字符
    “&”:字符串连接运算符,将两个字符串按顺序连接起来。
    分析程序:因为每次循环,Z都被重新赋值,所以只需要跟踪最后一次循环即可得出最终结果:最后一次循环时,I=2
    X=Mid("ABBACDDCBA",2,2)="BB"
    Y=Left("ABBACDDCBA",2)="AB"
    Z=Right("ABBACDDCBA",2)="BA"
    Z=X&Y&Z="BBABBA"。

  • 第4题:

    下列程序段的结果为

    A="ABBACDDCBA"

    For i=6 To 2 Step-2

    X=Mid(A,i,i)

    Y=Left(A,i)

    Z=Right(A,i)

    Z=X&Y&Z

    Next

    Print Z

    A.ABC

    B.AABAAB

    C.BBABBA

    D.ABBABA


    正确答案:C
    解析:Right(字符串,n):返回字符串的最后n个字符。
    Mid(字符串,p,n):从第p个字符开始,向后截取n个字符。p和n都是算术表达式。
    Left(字符串,n):返回“字符串”的前n个字符。
    “&”:字符串连接运算符,将两个字符串按顺序连接起来。
    分析程序:因为每次循环,z都被重新赋值,所以只需要跟踪最后一次循环即可得出最终结果,最后一次循环时,i=2
    X=Mid("ABBACDDCBA",2,2) ="BB"
    Y=Left("ABBACDDCBA",2) ="AB"
    X=Right("ABBACDDCBA",2) ="BA"
    Z=X&Y&Z="BBABBA"

  • 第5题:

    下列程序段的结果为_______。 A="ABBACDDCBA" For I=6 To 2 Step -2 X=Mid(A,I,I) Y=Left(A,I) Z=Right(A,I) Z=X & Y & Z Next I Print Z

    A.ABA

    B.AABAAB

    C.BBABBA

    D.ABBABA


    正确答案:C
    解析:Right(字符串,n):返回字符串的最后n个字符。Mid(字符串,p,n):从第p个字符开始,向后截取n个字符。p和n都是算术表达式。Left(字符串,n):返回“字符串”的前n个字符“&”:字符串连接运算符,将两个字符串按顺序连接起来。分析程序:因为每次循环,Z都被重新赋值,所以只需要跟踪最后一次循环即可得出最终结果:最后一次循环时,I=2X=Mid(“ABBACDDCBA”,2,2)=“BB”Y=Left(“ABBACDDCBA”,2)=“AB”Z=Right(“ABBACDDCBA”,2)=“BA”Z=X&Y&2=“BBABBA”。

  • 第6题:

    29、如下程序的输出结果是 int main() { char books[][20]={"English","Math","Physical"}; int i,j; for(i=0;i<3;i++) { strcat(books[i],"book"); } printf("%s",&books[i-1][3]); return 0; }

    A.Physicalbook

    B.sical

    C.Physical

    D.sicalbook


    B 解析: 本题涉及字符串最基本的两个概念:①字符串的长度是指字符串中字符的个数,但不包括字符串结束符;②以反斜杠“\\”开头的特殊字符序列,意思是把反斜杠后面的字符序列转换成特定的含义,而不是原来的含义,不包含在字符串长度之内,“\\”连同后面的字符为一个长度。