下面是一段Pascal程序: for h:=1 to n-1 do begin x:=A[h+1]; k:=h; while(k>=1)and(A[k]>x)do begin A[k+1]:=A[k]; k:=k-1 end; A[k+1]:=x end; 假设在程序开始执行时,数组A[1…n)是一组随机整数。下列答案中,最好地描述了最差情况下的程序执行时间(运行时间阶数)的是A.O(n log2n)B.O(n)C.O(log2n)D.O(n2)

下面是一段Pascal程序: for h:=1 to n-1 do begin x:=A[h+1]; k:=h; while(k>=1)and(A[k]>x)do begin A[k+1]:=A[k]; k:=k-1 end; A[k+1]:=x end; 假设在程序开始执行时,数组A[1…n)是一组随机整数。下列答案中,最好地描述了最差情况下的程序执行时间(运行时间阶数)的是

A.O(n log2n)

B.O(n)

C.O(log2n)

D.O(n2)


相关考题:

下面是一段Pascal程序: for h:=1 tO n-1 dO begin x:=A[h+1]; k:=h; while (k>=1) and (A[k]>x) do begin A[k+1):=A[k]; k:=k-1 end; A[k+1]:=x end; 假设在程序开始执行时,数组A[1..n)是一组随机整数。下列答案中,哪一个最好的描述了最差情况下的程序执行时间(运行时间阶数)?( )A.0(nlog2n)B.O(n)C.0(log2n)D.O(n2)

写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int k=1,n=263 ; do { k*=n%10 ; n/=10 ; } while (n) ; printf("%d",k); return 0; }

29、写出下面程序执行后的运行结果。 #include <stdio.h> int main() { int k=1,n=263 ; do { k*=n%10 ; n/=10 ; } while (n) ; printf("%d",k); return 0; }

17、以下能够实现计算5!的程序段是()A.int fac=1,k=0; do{ k++; fac*=k;} while(k<5);B.int fac=0,k=1; do{ fac*=k; k++;} while(k<5);C.int fac=1,k=1; do{ k++; fac*=k;} while(k<=5);D.int fac=1,k=0; do{ fac*=k; k++;} while(k<5);

下面能正确计算1*2*3*•••*10的程序段是()A.do{ k=1;n=1;n=n*k;k++; }while(k<=10);B.do{ k=1;n=0;n=n*k;k++; }while(k<=10);C.k=1;n=1; do{ n=n*k;k++; }while(k<=10);D.k=1;n=0; do{ n=n*k;k++; }while(k<=10);

下面的程序运行时,若输入253,则输出 。 #include <stdio.h> long fun (long data) { long k =1; do { k*=data%10 ; data/=10 ; } while(data) ; return (k); } void main() { long x; printf("nPlease enter a number:"); scanf("%ld",x); printf("n%ldn",fun(x)); }

1、以下能够实现计算5!的程序段是()A.int fac=1,k=0; do{ k++; fac*=k;} while(k<5);‍B.int fac=0,k=1; do{ fac*=k; k++;} while(k<5);C.int fac=1,k=1; do{ k++; fac*=k;} while(k<=5);D.int fac=1,k=0; do{ fac*=k; k++;} while(k<5);

【填空题】当运行以下程序时,从键盘输入1 2 3 4 5 -1<CR>,则下面程序的运行结果是 。 #include<stdio.h> main() {int k=0,n; do{scanf("%d",n);k+=n;}while(n!=-1); printf("k=%d n=%dn",k,n); }

8、下面程序的输出结果是 。 #include<stdio.h> int main() { int k=1,s=0; do { if((k%2)!=0)continue; s+=k;k++; }while(k>10); printf("%d",s); return 0; }