网友您好, 请在下方输入框内输入要搜索的题目:

题目内容 (请给出正确答案)

已知有一维数组A[0,…,m×n-1],若要对应为m行、n列的矩阵,则下面的对应关系(73)可将元素A[k](0≤k<m×n)表示成矩阵的第i行、第j列的元素(0≤i<m, 0≤j<n)。

A.i=k/n,j=k%m

B.i=k/m,j=k%m

C.i=k/n,j=k%n

D.i=k/m,j=k%n


参考答案

更多 “ 已知有一维数组A[0,…,m×n-1],若要对应为m行、n列的矩阵,则下面的对应关系(73)可将元素A[k](0≤k<m×n)表示成矩阵的第i行、第j列的元素(0≤i<m, 0≤j<n)。A.i=k/n,j=k%mB.i=k/m,j=k%mC.i=k/n,j=k%nD.i=k/m,j=k%n ” 相关考题
考题 阅读下列程序说明和C代码,将应填入(n)处的字句写在对应栏内。【说明】设某城市有n个车站,并有m条公交线路连接这些车站,设这些公交车都是单向的,这n个车站被顺序编号为0至n-1。输入该城市的公交线路数、车站个数,以及各公交线路上的各站编号,求得从站0出发乘公交车至站n-1的最少换车次数。程序利用输入信息构建一张有向图G(用邻接矩阵g表示),有向图的顶点是车站,若有某条公交线路经i站能到达j站,就在顶点i到顶点j之间设置一条权为1的有向边<i,j>。如是这样,从站点x至站点y的最少上车次数便对应图G中从点x至点y的最短路径长度。而程序要求的换车次数就是上车次数减1。【函数5-9】include <stdio.h>define M 20define N 50int a[N+1]; /*用于存放一条线路上的各站编号*/iht g[N][N]; /*存储对应的邻接矩阵*/int dist[N]; /*存储站0到各站的最短路径*/int m,n;void buildG(){int i,j,k,sc,dd;printf ("输入公交线路数,公交站数\n");scanf("%d%d", m, n);for(i=0; i<n; i++) /*邻接矩阵清0*/for(j = 0; j < n; j++)g[i][j] = 0;for(i=0; i<m; i++){printf("沿第%d条公交车线路前进方向的各站编号(O<=编号<=%d,-1结束):\n",i+1, n-1);sc=0;/* 当前线路站计数器 */while(1){scanf("%d",dd);if(dd==-1)break;if(dd>=0 dd<n) (1);}a[sc]=-1;for(k=1;a[k]>=0; k++) /* 处理第i+1条公交线路 */for(j=0; j<k; j++)g(2)=1;}}int minLen(){int j, k;for(j=0;j<n;j++)dist[j]=g[0][j];dist[0]=1;do{for(k=-1,j=0;j<n;j++) /* 找下一个最少上车次数的站*/if(dist[j]>0(k==-1 || dist[j]<dist[k]))k=j;if (k<0 || k==n-1) break;dist[k]=-dist[k]; /* 设置k站已求得上车次数的标记 */for(j=1;j<n;j++) /* 调整经过k站能到达的其余各站的上车次数 */if ((3) (dist[j]==0 || -dist[k]+1<dist[j]))dist[j]=(4);}while(1);j=dist[n-1];return (5);}void main(){int t;buildG();if((t=minLen()<0)printf("无解!\n");else pdnff("从0号站到%d站需换车%d次\n”,n-1,t);}

考题 在窗体上画两个命令按钮,名称分别为Command1、Command2,并编写如下程序 Const n=5,m=4 Dim a(m,n) Private Sub Command1_Click() k=1 For i=1 To m Forj=1 To n a(i,j)=k k=k+1 Next j Next i End Sub Private Sub Command2_Click() summ=0 For i=1 Tom For j=1 To n If i=1 Or i=m Then summ=summ+a(i,j) Else If j=1 Or j=n Then summ=summ+a(i,j) End If End If Next j Next i Print summ End Sub 过程Command1 Click()的作用是在二锥数组a中存放—个m行n列的矩阵;过程Command2 Click()的作用是______。A.计算矩阵外围一圈元素的累加和B.计算矩外围一圈以外的所有元素的累加和C.计算矩阵第1列和最后—列元素的累加和D.计算矩阵第1行和最后—行元素的累加和

考题 该程序运行的结果是( )。#include#include#define M 100void fun(int m, int *a, int *n){ int i,j=0;for(i=1;i=m;i++)if(i%7==0||i==0)a[j++]=i;*n=j;}main(){ int aa[M],n,k;clrscr();fun(10,aa,n);for(k=0;kif((k+1) ==0)printf("\n");else printf("M",aa[k]);printf("\n");}

考题 已知有一维数组A[0...m*n-1],若要对应为m行、n列的矩阵,则下面的对应关系______可将元素A[k](0≤k<m*n)表示成矩阵的第i行、第j列的元素(0≤i<m,0≤j<n)。A.i=k/n,j=k%mB.i=k/m,j=k%mC.i=k/n,j=k%nD.i=k/m,j=k%n

考题 下面程序段的时间复杂度是()。for(j=0;jfor(k=0;ka[j][k]=j*k; A、O(m2)B、O(n2)C、O(m*n)D、O(m+n)

考题 阅读下列说明和流程图,将应填入(n)处的语句写在对应栏内。【说明】下列流程图用于从数组K中找出一切满足:K(I)+K(J)=M的元素对(K(I),K(J))(1≤I≤J≤N)。假定数组K中的N个不同的整数已按从小到大的顺序排列,M是给定的常数。【流程图】此流程图1中,比较“K(I)+K(J):M”最少执行次数约为(5)。

考题 请编一个函数void fun( int tt[M][N], int pp[N], tt指向一个M行N列的二维数组,求出二维数组每列中最大元素,并依次放入pp所指的一维数组中。二维数组中的数已在主函数中给出。注意:部分源程序给出如下。请勿改动主函数main和其他函数中的任何内容,仅在函数fun的花括号中填入所编写的若干语句。试题程序:include <conio.h>include <stdio.h>define M 3define N 4void fun(int tt[M][N],int pp[N]){}main(){int t[M] [N]={{68,32,54,12},{14,24,88,58},{42, 22, 44, 56}};int p[N],i,j,k;clrscr();printf("The riginal data is:\n");for(i=0;i<M;i++){for(j=0;j<N;j++)printf("%6d",t[i][j]);printf("\n");}fun(t,p);printf("\nThe result is:\n");for(k=0;k<N;k++)printf("%4d",p[k]);printf("\n");}

考题 下列给定程序中,函数fun()的功能是:根据形参m的值(2≤m≤9),在m行m列的二维数组中存放如下所示的数据,由 main()函数输出。例如,若输入2,则输出1 22 4输入4,则输出1 2 3 42 4 6 83 6 9 124 8 12 16请改正程序中的错误,使它能得出正确的结果。注意:不要改动main函数,不得增行或删行,也不得更改程序的结构.试题程序:include <conio.h>include <stdio. h>define M 10int aiM] [MI={0};/***************found*******************/fun( int **a, int m){int j,k;for (j=0; j<m; j++)for (k=0; k<m; k++)/***************found*******************/a[j] [k]=k*j;}main ( ){int i, j, n;clrscr ();printf ("Enter n\n"); scanf ("%d", n);fun (a, n);for (i=0; i<n; i++){ for (j=0;j<n;j++)printf ("%4d ",a[i] [j]);printf ("\n ");}}

考题 下面程序段的执行结果为( )。 int i=3,j=0,k=0; for(;i>0;--i) { ++k; do { ++j; if (i!=j) break; ++k; }while(j<5); } printf("i=%d j=%d k=%d\n",i,j,k);A.i=0 j=4 k=12B.i=0 j=5 k=5C.i=0 j=4 k=4D.i=0 j=3 k=3

考题 阅读以下说明和C语言程序,将应填入(n)处的字句写在对应栏内。【说明】计算n的合数。一个整数n可以有多种划分,使其划分的一列整数之和为n。例如,整数5的划分为:54 13 23 1 12 2 12 1 1 11 1 1 1 1共有7种划分。这种划分的程序如下所示。【程序】include <stdio.h>int n[1000],m,k;void output sum(){int j;for(j=0;n[j]!=0;j++)printf("%d\t",n[j]);printf("\n");}void sum(int i)if(m-n[i]<n[i]){ m=m-n[i];(1)i++;n[i+1]=0;}else{(2)m-=n[i];i++;}if(m!=n[i])sum(i);elseoutput_sum();if(n[i]>1){n[i]--;(3)}else{while((n[i]==1)(i>O)){i--;(4)}if(i!=0){(5)sum(i);}}}void main(){int i;scanf("%d",n[0]);m=k=n[0];for(i=1;i<=k;i++)n[i]=0;while(n[0]!=1){n[0]--;i=0;sum(0);m=k;}}

考题 以下程序中,函数 sumColumM的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。和值通过形参传回主函数输出。请填空。define M 2define N 4void SumColumMin(int a[M][N],int *sum){ int i,j,k,s=0;for(i=0;i〈N;i++){ k=0;for(j=1;j<M;j++)if(a[k][i]>a[j][i])k=j;s+=【 】;}【 】 =s;}main( ){ int x[M][N]={3,2,5,1,4,1,8,3},s;SumColumMin(【 】);printf("%d\n",s);}

考题 分析下列程序,其最终执行结果是______。 main() { int n[3],i,j,k; for(i=0;i<3;i++)n[i]=O; k=2; for(i=0;i<k;i++) for(j=0;j<k;j++) n[j]=n[i]-1; printf("%d\n",n[0]); }A.-2B.-1C.0D.-3

考题 请读程序: include main( ) { int n[2],i,j,k; { for(i=0,i 请读程序: # include<srdio.h> main( ) { int n[2],i,j,k; { for(i=0,i<2;i + + )n[i]=0; k=2; for(i=0;i<k;i+ +) {for(j=0;j<k;j+ +)n[j]=n[i]+l; print{("%d\n",n[k]); } 上面程序片段输出结果是 ( )A.不确定的值B.3C.23D.1

考题 下面程序段的时间复杂度是(9)。for(i=0,k=0;<n;1++){ k+=A[i][j]; for(j=1;j<m;j++) A[i][j]=1}A.O(n)B.O(m+n+1)C.O(m+n)D.O(m*n)

考题 阅读下列C程序和程序说明,将应填入(n)处的字句写在对应栏内。【说明】设某城市有n个车站,并有m条公交线路连接这些车站,设这些公交车都是单向的,这n个车站被顺序编号为0至n-1。本程序,输入该城市的公交线路数、车站个数,以及各公交线路上的各站编号,求得从站0出发乘公交车至站n-1的最少换车次数。程序利用输入信息构建一张有向图G(用邻接矩阵g表示),有向图的顶点是车站,若有某条公交线路经i站到达j站,就在顶点i到顶点j之间设置一条权为1的有向边<i,j>。如果这样,从站点x至站点y的最少上车次数便对应图G中从点x到点y的最短路径长度。而程序要求的换车次数就是上车次数减1。include <stdio.h>define M 20define N 50int a[N+1]; /*用于存放一条线路上的各站编号*/int g[N][N]; /*严存储对应的邻接矩阵*/int dist[N]; /*严存储站0到各站的最短路径*/int m, n;void buildG(){ int i, j, k, sc, ddprintf(“输入公交线路数,公交站数\n”);scanf("%d%d",m,&n);for (i=0;i<n;i++) /*邻接矩阵清0*/for(j=0;j<n;j++)g[i][j]=0;for(i=0;i<m;i++){ printf("沿第%d条公交线路的各站编号(0<=编号<=%d,-1结束):\n)",i+1,n-1);sc=0; /* 当前线路站计数器*/while(1){ scanf("%d",dd);if(dd=-1)break;if(dd>=0 dd<n) (1);}a[sc]=-1;for(k=1;a[k]>=0;k++) /*处理第i+1条公交线路*/for(j=0;j<k;j++)g (2)=1;}}int minLen(){ int j,k;for(j=0;j<n;j++)dist[j]=g[0][j];dist[0]=1;do{for(k=-1,j=0;j<n;j++) /*找下一个最少上车次数的站*/if(dist[j]>0 (k==-1||dist[j]<dist[k]))k=j;if(k<0||k==n-1)break;dist[k]=-dist[k]; /*设置k站已求得上车次数的标记*/for (j=1;j<n;j++) /*调整经过k站能到达的其余各站的上车次数*/if((3) (dist[j]=0||-dist[k]+1<dist[j]))dist[j]=(4);}while(1);j=dist[n-1];return (5);}void main(){ int t;buildG();if((t=minLen())<0)printf("无解!\n");elseprintf(“从0号站到%d站需换车%d次\n”,n-1,t);}

考题 以下程序的输出结果是#include conio.h#include stdio.h#define M 100void fun(int m, int *a, int *n){ int i,j=0; for(i=1;i=m;i++) if(i%7==0||i%11==0) a[j++]=i; *n=j;}main(){ int aa[M],n,k; clrscr(); fun(100,aa,n); for(k=0;kn;k++) if((k+1)%20==0)printf("\n"); else printf("%d",aa[k]); printf("\n"); }

考题 请补充函数fun(),该函数的功能是:寻找两个整数之间的的所有素数(包括这两个整数),把结果保存在数组bb中,函数返回素数的个数。例如,输入6和21,则输出为:7 11 13 17 19 21。注意:部分源程序给出如下。请勿改动主函数main 和其他函数中的任何内容,仅在函数fun()的横线上填入所编写的若干表达式或语句。试题程序:include<conio. h>include<stdio. h>define N 1000int fun (int n, int m, int bb [N]){int i, j, k=0, flag;for (j=n; j<=m; j++){【 】;for (i=2; i<j; i++)if(【 】){flag=0;break;}if(【 】)bb [k++] =j}return k;}main (){int n=0,m=0, i, k;int bb[N];clrscr ();printf ("Input n\n");scanf ("%d", n);printf ("Input m\n");scanf ("%d", m);for (i=0; i<m-n; i++)bb[i]=0;k=fun (n, m, bb);for (i=0; i<k; i++)printf ("%4d",bb [i]);}

考题 已知有一维数组A(0..m*n-1],若要对应为m行、n列的矩阵,则下面的对应关系(4)可将元素A[k](0≤k<m*n)表示成矩阵的第i行、第j列的元素(0≤i<m,0≤j<n)。A.i=k/n,j=k%mB.i=k/m,j=K%mC.i=k/n,j=k%nD.i=k/m,j=k%n

考题 在窗体上画2个命令按钮,名称分别为Command1、Command2,然后编写下列事件过程。 Const n=5.m=4 Dim a(m,n) Private Sub+Command1 Click( ) k=1 For i=1 To m For j=1 To n a(i,j)=k k=k+1 Next j Next i End Sub Private Sub Command2 Click( ) summ=0 For i=1 To m For j=1 To n If i=1 Or i=m Then summ=summ+a(i,j) Else If j=1 Or j=n Then summ=summ+a(i,j) End If End If Next j Next i Print summ End Sub 过程Command1_Click( )的作用是在二维数组a中存放1个m行n列的矩阵;过程Command2 Click( )的作用是( )。A.计算矩阵外围一圈元素的累加和B.计算矩阵除外围一圈以外的所有元素的累加和C.计算矩阵第1列和最后一列元素的累加和D.计算矩阵第1行和最后一行元素的累加和

考题 下面程序的功能是 : 将 N 行 N 列二维数组中每一行的元素进行排序 , 第 0 行从小到大排序 , 第 1 行从大到小排序,第 2 行从小到大排序,第 3 行从大到小排序,例如:define N 4void sort(int a[][N]){ int i, j, k, t;for (i=0; iN;i++)for (j=0; jN-1:j++)for (k= 【 13 】 ; kN;K++)/* 判断行下标是否为偶数来确定按升序或降序来排序 */if ( 【 14 】 ? a[i][j]a[i][k]); a[i][j]a[i][k]){ t = a[i][j];a[i][j]=a[i][k];a[i][k] = t;}}void outarr(int a[N][N]){ …… }main(){ int aa[N][N]={{2,3,4,1},{8,6,5,7},{11,12,10,9},{15,14,16,13}};outarr(aa); /* 以矩阵的形式输出二维数组 */sort(aa);outarr(aa);}

考题 ●试题一阅读下列说明和流程图,将应填入(n)处的语句写在答题纸的对应栏内。【说明】下列流程图用于从数组K中找出一切满足:K(I)+K(J)=M的元素对(K(I),K(J))(1≤I≤J≤N)。假定数组K中的N个不同的整数已按从小到大的顺序排列,M是给定的常数。【流程图】此流程图1中,比较"K(I)+K(J)∶M"最少执行次数约为 (5) 。图1

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句写在对应栏内。[说明]函数int psort(int a[],int n)实现将含n个整数的数组a[]的不同元素按从小到大顺序存于数组a[]中。实现方法是从未确定的元素列中找到最小元素并将a[]的第i最小元素交换至a[i]位置。如该最小元素比已确定的最后一个最小元素大,则将它接在已确定的元素序列的后面;否则,忽视该元素。[C函数]int psort(int a[],int n){int i,J,k,P;for(i=0,k=0;i<(1);i++){for(j=i+1, (2) ;j<n; j++)if(a[p]>a[j])p=j;if(p!=i){t=a[p];a[p]=a[i];a[i]=t;}if( (3) ) k++;else if( (4) <a[i])(5)=a[i];}return k;}int a[]={5,7,5,6,4,3,4,6,7};main(){int k,n;for(k=0;k<(Sizeof a)/Sizeof(int);k++)printf("%5d",a[k]);printf ("\n\n");n=psort(a,(sizeof(a))/sizeof(int));for(k=0;k<n;k++)printf("%5d",a[k]);printf("\n\n");}

考题 下面的子程序求一方阵的次对角线上的元素之和 SUBROUTINE CDJX(M,N,K) DIMENSION M(N,50) DO 10 J=1,N K= {pz_填空} 10 CONTINUE RETURN END 为了使程序完整,应在{pz_填空}处填入的是: (A)K+M(J,J) (B)K+M(J,N+1-J) (C)K+M(N-J,J) (D)K+M(N+J,N-J)

考题 下面的子程序求一方阵的次对角线上的元素之和。 SUBROUTINE CDJX(M,N,K) DIMENSION M(N,50) DO 10 J = 1,N K=_ 10 CONTINUE RETURN END 为了使程序完整,应在_处填入的是: A.K+M(J,J) B.K+M(J,N+1—J) C. K+M(N+J,J) D. K+M(N+J,N-J)

考题 已知有一维数组A[0.m×n-1],若要对应为m行n列的矩阵,则下面的对应关系(),可将元素A[k](O≤<k≤<m×n)表示成矩阵的第i行、第j列的元素(0≤i≤m,0匀≤n)。 A. i=k/n,j=k%m B.i=k/m,j=k%m C.i=k/n,j=k%n D.i=k/m,j=k%n

考题 下列程序段的时间复杂度为()。for(i=0;i<m;i++)for(j=0;j<t;j++)e[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];A.O(m×n×t) B.O(m+n+t) C.O(m×t+n) D.O(m+n×t)

考题 设二维数组A[0…m-1][0…n-1]按行优先顺序存储在内存中,第一个元素的地址为p,每个元素占k个字节,则元素aij的地址为()。A、p+[i*n+j-1]*kB、p+[(i-1)*n+j-1]*kC、p+[(j-1)*n+i-1]*kD、p+[j*n+i-1]*k