下面这个程序段的时间复杂度是( )。 for {i=1; i<n; i++) { y=y+1; for (j=0;i<=(2*n);i++) x++; }
A.O(log2n)
B.O(n)
C.O(nlog2n)
D.O(n2)
第1题:
以下程序运行后的输出结果是【13】。
include<stdio.h>
main()
{ int n[2],i,j;
for(i=0;i<2;i++)n[i]=0;
for(i=0;i<2;i++)
for(j=0;j<2;j++)n[j]=n[i]+1;
printf("%d\n",n[1]);
}
第2题:
执行下面程序段,语句3的执行次数为______。 for(i=0;i<n-1;i++) for(j=n;j>i;j++) state;
A.n(n+2)/2
B.(n-1)(n+2)/2
C.n(n+1)/2
D.(n-1)(n+2)
第3题:
A、O(n)
B、O(m+n+1)
C、O(m+n)
D、O(m*n)
第4题:
以下程序的执行结果是______。 main() { int i,j,m=O,n=0; for (i=0;i<2;i++) {for (j=0;j<2;j++) if(j>=i) m=1;n++; printf("%d\n",n); } }
A.4
B.2
C.1
D.0
第5题:
阅读下列函数说明和C代码,填入(n)处。
[说明]
以下C语言程序实现了生成从里到外是连续的自然数排列的回旋矩阵,矩阵形式如下:
7 6 5 16
8 1 4 15
9 2 3 14
10 11 12 13
程序的变量说明如下:
x1:矩阵上边界;
x2:矩阵下边界;
y1:矩阵左边界;
y2:矩阵右边界;
s:数组元素升降标记,s等于1为升,s等于-1为降;
a[]:存放矩阵元素的数组。
仔细阅读C语言程序源码,将(n)处的语句补充完整。(注:每处仅一个语句)
[C程序]
include<stdio.h>
void main ( )
{
const int N=20;
int i=0,j=0,a[N][N],n;
int m,x1,x2,y1,y2,s;
while (1)
{
Printf ("\ninput matrix row N( N>=2): ");
scanf ("%d",&n);
printf ("\n");
if (n>=2)
break;
}
m=n*n;
x1=0; y1=0; x2=n; y2=n;
if(n%2==0)
{j=n-1; y2=n-1; s=1;}
else
{i=n-1; y1=1; s=-1; }
while (1)
{
if (s==1)
{
for (i; i<x2; i++) a[i][j]=m--;
i--;
j--;
(1)
for (j;j>=y1;j--) a[i][j]=m--;
j++;
i--;
y1++;
(2)
}
else
{
for (i;i>=x1;i--)
a[i][j]=m--;
i++;
j++;
(3)
for (j;j<y2;j++)
(4)
(5)
i++;
(6)
S=i;
}
if (m<1) break;
}
for (i=O;i<n; i++)
{
for (j=O;j<n;j++)
printf ("%6d",a[i][j]);
printf ("\n");
}
printf ("\n");
}
第6题:
下面这个程序段的时间复杂度是( )。 for (i=1; i<n; i++) { y=y+3; for (j=0;j<=(2*n);j++) x++; }
A.O(log2n)
B.O(n)
C.O(nlog2n)
D.O(n2)
第7题:
下列程序段的时间复杂度为()。i=0,s=0;while(sn){s=s+i;i++;}
A、O(n1/2)
B、O(n1/3)
C、O(n)
D、O(n2)
第8题:
设变量已正确定义,则以下能正确计算f=n!的程序段是( )。A)f=0; B)f=1; for(i=1;i<=n;i++) f*=i; for(i=1;i<n;i++) f*=i;C)f=1; D)f=1; for(i=n;i>1;i++) f*=i; for(i=n;i>=2;i--) f*=i;
第9题:
有以下程序: #include<stdio.h> #define N 3 void fun(int a[][N],int b[]) { int i,j; for(i=0;i<N;i++) { b[i]=a[i][0]; for(j=i;j<N;j++) if(b[i]<a[i][j]) b[i]=a[i][j]; } } main( ) { int x[N][N]={1,2,3,4,5,6,7,8,9},y[N],i; fun(x,y); for(i=0;i<N;i++)printf("%d,",y[i]); printf("\n"); } 程序运行后的输出结果是(,)。
A.2,4,8,
B.3,6,9,
C.3,5,7,
D.1,3,5,
第10题:
下面程序段的时间复杂度为 ( ) for(i=0;i<m;i++) for(j=0;j<n;j++) A[i][j]=i*j;
A.O(m2)
B.O(n2)
C.O(m*n)
D.O(m+n)