举一反三
- 【单选题】以下算法的时间复杂度() void matrimult(int a[M][N],int b[N][L],int c[M][L]) // { int i,j,k; for(i=0;i<M;i++) for(j=0;j<L;j++) c[i][j]=0; for(i=0;i<M;i++) for(j=0;j<L;j++) for(k=0;k<N;k++) c[i][j]+=a[i][k]*b[k][j]; } A. O(n*l) B. O(m*l) C. O(m*n) D. O(m*n*l)
- 分析以下程序段的时间复杂度。void fun( int n){ int s = 0. i, j, k; for(i=O;i<=n; l忡〉 for(j=O;j<=i;j++) for (k = 0 ;k<j ,k+叶 s++;}
- 下列程序段的时间复杂度为( )。 for(i=0;i<m; i++) for(j=0; j<t; j++) c[i][j]=0; for(i=0;i<m; i++) for(j=0;j<t; j++) for(k=0;k<n; k++) c[i][j]=c[i][j]+a[i][k]*b[k][j];
- 分析以下算法的时间复杂度。void fun(int n){ int i,j,k; for (i=1;i<= n;i++) for (j= 1;<= n;j++) . { k=1; while (k<=n) k=5*k;}
- 给出下列算法中语句的时间复杂度 x = 0; y = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= i; j++) for (int k = 1; k <= j; k++) x=x+y;
内容
- 0
下面程序的运行结果是( )。 # include< stdio. h> int main( ) { int a[10]= {1,2,2,3,4.3,4.5,1,5}; int n=0,i,j,c,k; for(i=0;i<10–n;i++) { c=a[i]; for(j=i+1;j<10–n;j++) if(a[j]= =c) { for(k=j;k<10–n;k++) a[k]=a[k+1]; n++; } } for(i=0;i<(10–n);i++) printf("%d",a[i]); return 0; }
- 1
中国大学MOOC: 写出程序的运行结果。#include <stdio.h>int main(){int c[10],i=0,j=0,k=0 ;int a[3]={5,9,10} ; int b[5]={12,24,26,37,48} ;while (i<3 && j<5)if (a[i]>b[j]) {c[k]=b[j] ; k++ ; j++ ;}else {c[k]=a[i] ; k++ ; i++ ;}while (i<3) {c[k]=a[i] ; i++ ; k++ ;}while (j<5) {c[k]=b[j] ; j++ ; k++ ;}for (i=0; i<k; i++) printf("%d ",c[i]); return 0;}
- 2
下面语句的执行结果是() int i,j,k=0; for(i=0;i<5;i++) for(j=0;j<4;j++) k++; printf(“%d”,k);
- 3
以下程序运行的输出结果是______。 #include<stdio.h> #define M 100 void fun(int m,int *a,int *n) int i,j=0; for(i=1;j<=m;i++) if(i%7==0 ‖ i%11==0) a[j++]=i; *n=j; main( ) int aa[M],n,k; fun(10,aa,&n); for(k=0;k<n;k++) if((k+1)%20==0)printf("\n"); else printf("%4d",aa[k]); printf("\n");
- 4
以下定义变量、j、k并赋初值的语句,正确的是( )。 A: int i=0, j=0, k=0; B: int i=0;j=0;k=0; C: int i=j=k=0; D: int i=0;j=i;k=j;