举一反三
- 针对如下三个实现矩阵求和的不同函数:int a[N][N];int sumA( int a[N][N] ){ int i, j; int sum = 0; for ( i = 0; i < N; i++ ) for ( j = 0; j < N; j++ ) sum += a[i][j]; return sum;}int sumB( int a[N][N] ){ int i, j; int sum = 0; for ( j = 0; j < N; j++ ) for ( i = 0; i < N; i++ ) sum += a[i][j]; return sum;}int sumC( int a[N][N] ){ int i, j; int sum = 0; for ( j = 0; j < N; j+=2 ) for ( i = 0; i < N; i+=2 ) sum += ( a[i][j] + a[i+1][j] + a[i][j+1] + a[i+1][j+1] ); return sum;}当N足够大的时候,三个函数的运行时间t1、t2、t3符合下列哪种情况?()[/i][/i][/i][/i] A: t1 > t2 > t3 B: t3 > t1 > t2 C: t2 > t3 > t1 D: t3 > t2 > t1
- 下面 rotate 函数的功能是:将 n 行 n 列的矩阵a 转置#define N 4 void rotate(int a[][N]) { int i,j,t; for(i=0;i 答案: (1) j (2) a[i][j]=a[j][i] 答案解析: 难易: 中 知识点:[/i][/i]
- 以下程序的输出结果是 main() int b[3][3]=0,1,2,O,l,2,0,1,2,i,j,t=1; for(i=0;i<3;i++) for(j=i;j<=i;j++) t=t+b[i][b[j][j]]; printf("%d\n",t);[/i] A: 3 B: 4 C: 1 D: 9
- 以下程序的运行结果是 。 #include func(int array[][4],int m) {int i,j,k; k=0; for(i=0;i<3;i++) for(j=0;j<4;j++) if(array[i][j][/i]
- 以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回,请填空。(设M,N已定义)int fun(int a[N][M]){int i,j,row=0,col=0;for(i=0;i[N;i++)for(j=0;j<M;j++)if(a[i][j]]a[row][col]){row=i;col=j;}return(_____);}[/i]
内容
- 0
下面程序段的时间复杂度为 ____________ 。 for(int i=0; i<m; i++) for(int j=0; j<n; j++) a[i][j]=i*j;[/i]
- 1
#include [stdio.h]int main() { int a[3][3],i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) a[i][j]=3*i+j; for(i=0;i<3;i++) printf("%d ",a[i][1]); return 0;}[/i][/i]
- 2
以下fun函数的功能是在N行M列的整型二维数组中,选出一个最大值作为函数值返回。请填空。(设M、N已定义) int fun(int a[N][M]){ int i, j, row=0, col=0; for(i=0;i<N;i++) for(j=0;j<M;j++) if(a[i][j]>a[row][col]){row=i;col=j;} return______; }[/i]
- 3
s=0; for i=0; i<n; i++) for(j=0; j<n; j++) s+=B[i][j]; sum=s;[/i]
- 4
以下程序执行的结果是( )。#include <;stdio.h>;main(){ int i,j,row=0,col=0,m;static int a[3][3]={1,-2,0,4,-5,6,2,4};m=a[0][0];for(i=0;i<;3;i++)for(j=0;j<;3;j++)if(a[i][j]<;m){m=a[i][j];row=i;col=j;}printf("(%d,%d)=%d\n",row,col,m);}[/i][/i]
