• 2022-11-02
    在C语言中,如要给一个较大的[img=54x22]17de83d2fb35c85.png[/img]的数组赋值,以下方式性能较好的是:()
    A: for ( int i = 0; i <; N; i++ ) for ( int j = N - 1; j >;= 0; j-- ) mat[i][j] = val;
    B: for ( int i = 0; i <; N; i++ ) for ( int j = 0; j <; N; j++ ) mat[j][i] = val;
    C: for ( int i = N - 1; i >;= 0; i-- ) for ( int j = N - 1; j >;= 0; j-- ) mat[j][i] = val;
    D: for ( int i = N - 1; i >;= 0; i-- ) for ( int j = N - 1; j >;= 0; j-- ) mat[j][i] = val;
  • A

    内容

    • 0

      以下程序的运行结果为:int fun(int n){ if(n==1) return 1; else return fun(n-1)+1;} int main(){ int i,j=0; for(i=1;i<3;i++) j += fun(i); printf("%d\n",j); return 0;}

    • 1

      下面程序段的时间复杂度为 ____________ 。 for(int i=0; i<m; i++) for(int j=0; j<n; j++) a[i]&#91;j&#93;=i*j;[/i]

    • 2

      分析以下算法的时间复杂度。void fun( int n)i{    int s = 0,i,i,k;    for (i - 0; i<= n; i++ )        for (j= 0;j<=i;j++)            for (k = 0;k<j;k++)                s tt ;}

    • 3

      下面程序的运行结果是( )。 # 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; }

    • 4

      下面一段代码的时间复杂度是? if ( A > B ) { for ( i=0; i<N; i++ ) for ( j=N*N; j>i; j-- ) A += B; } else { for ( i=0; i<N*2; i++ ) for ( j=N*2; j>i; j-- ) A += B; }