考虑下面的程序: for (i=0;i<20;i++) for(j=0;j<10;j++) a[i]:=a[i]×j 试举例说明该程序的空间局部性和时间局部性。
第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题:
下面的程序段运行后,输出结果是
int i,j,x=0;
static int a[8][8];
for(i=0;i<3;i++)
for(j=0;j<3;j++)
a[i][j]=2*i+j;
for(i=0;i<8;i++)
x+=a[i][j];
printf("%d",x);
A.9
B.不确定值
C.0
D.18
第3题:
以下程序运行后的输出结构是。main(){ int i,j,a[][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) for(j=i;j<3;j++)a[j][i]=0; for(i=0;i<3;i++) { for(j=0;j<3;j++) printf("%d ",a[i][j]); printf("\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题:
以下程序的输出结果是( )。 #include<iostream.h> void main() { int a(5),b(6),i(0),j(0); switch(a) { case 5:switch(b) { case 5:i++;break; case 6:j++;break; default:i++;j++; } case 6:i++; j++; break; default:i++;j++; } cout<<i<<","<<j<<endl; }
A.1,2
B.1,3
C.2,2
D.2,3
第6题:
以下程序的输出结果是 ( ) main( ) { int n[3] [3],i,j; for (i=0;i<3;i+ +) for(j=0;i<3;++) n[i][j]=i+j; for(i=0;i<2;i++) for(j=0,j<2;j++) n[i+1][j+1]+=[i][j]; printf("%d\n",n[1][j]); }
A.14
B.0
C.6
D.值不确定
第7题:
现在有如下程序
#include "stdio.h"
main()
{char s[80];
int i,j;
gets(s);
for(i=j=0;s[i]!=′\0′;i++)
if(s[i]!=′H′______)
s[j]=′\0′;
puts(s);}
这个程序段的功能是删除输入的字符串中字符′H′,则空线上应当添入的是
A.s[j++]=s[i];j++;
B.s[j]=s[i++];j++;
C.s[j++]=s[i];
D.s[j]=s[i];
第8题:
阅读下面程序:
include <iostream.h>
void main()
{
int i,j,row=0,column=0,m;
static int a[3][3]={ 100,28,72,-30,2,-100};
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;
column=j;
}
cout<<m<<","<<row<<","<<column<<endl;
}
该程序的功能是【 】,其执行结果为上丝【 】。
第9题:
有如下程序: main() { int a[3][3]={{i,2},{3,4},{5,6}},i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++) s+=a[i][j]; printf("%d\n",s); } 该程序的输出结果是______。
A.18
B.19
C.20
D.21
第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)