工学

填空题广义表的(a,(a,b),d,e,((i ,j),k))深度是()。

题目
填空题
广义表的(a,(a,b),d,e,((i ,j),k))深度是()。
如果没有搜索结果,请直接 联系老师 获取答案。
如果没有搜索结果,请直接 联系老师 获取答案。
相似问题和答案

第1题:

设有如下程序includemain(){int**k,*j,i=100;j=&i;k=&j;printf("%d\n",**k);}

设有如下程序 #include<stdio.h> main() { int**k,*j,i=100; j=&i;k=&j; printf("%d\n",**k); } 上述程序的输出结果是______。

A.运行错误

B.100

C.i的地址

D.j的地址


正确答案:B
解析:j=&i,j的值就是i的地址,*j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

第2题:

有以下程序 main() { int x[]={1,3,5,7,2,4,6,0},i,j,k; for(i=0;i<3;i++) for (j=2;j>=i;

有以下程序

main( )

{ int x[ ]={1,3,5,7,2,4,6,0},i,j,k;

for(i=0;i<3;i++)

for (j=2;j>=i;j--)

if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

for(i=0;i<3;i++)

for(j=4;j<7-i;j++)

if(x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

for (i=0;i<3;i++)

if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k;}

for (i=0;i<8;i++) printf("%d",x[i]);

printf("\n");

}

程序运行后的输出结果是:

A.75310246

B.1234567

C.76310462

D.13570246


正确答案:A
解析:程序运行的输出结果是75310246。

第3题:

一个广义表为(a,(a,b),d,e,((i,j),k)),则该广义表的长度和深度分别为( )。

A.5和3

B.5和4

C.4和3

D.4和4


参考答案:A

第4题:

下列程序段的时间复杂度为()。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
解析:
在程序段中,有两段循环程序,第一段是一个双层嵌套循环,另一个是三层嵌套循环,所以基本操作是c[i][j]=c[i][j]+a[i][k]×b[k][j],此基本操作共执行m×t×n次。

第5题:

有以下程序:main(){int x[]={1,3,5,7,2,4,6,0),i,j,k;for(i=0;i<3;i++)for(j=2;i>=i;j--)if( x[j

有以下程序: main() { int x[]={1,3,5,7,2,4,6,0),i,j,k; for(i=0;i<3;i++) for(j=2;i>=i;j--) if( x[j+1]>x[j]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<3;i++) for(j=4;j<7-i;j++) if(x[j]>x[j+1]){ k=x[j];x[j]=x[j+1];x[j+1]=k; } for(i=0;i<8;i++) printf("%d",x[i]); printf("\n"); } 程序运行后的输出结果是( )。

A.7.53102e+007

B.01234567

C.7.63105e+007

D.1.35702e+007


正确答案:A
解析:主函数中定义了一个整型数组x,并初始化。接着执行了一个二重for循环,该二重循环的作用是将数组的前4个元素按从大到小排序,接着用了一个二重循环(也是冒泡算法)将数组的后4个元素按从小到大的顺序排序,故最后依次输出数组的元素值为75310246,所以,4个选项中选项A符合题意。

第6题:

广义表(a,(a,b),d,e,((i,j),k))的长度是(48),深度是(49)。

A.3

B.4

C.5

D.6


正确答案:C

第7题:

下列程序的输出结果是______。includemain(){int i,j,k,a=3,b=2;i=(--a==b++)?--a;++b;

下列程序的输出结果是______。#include<stdio.h>main(){ int i,j,k,a=3,b=2; i=(--a==b++)?--a;++b; j=a++;k=b; printf("i=%d,j=%d,k=%d\n",i,j,k);}

A.i=2,j=1,k=3

B.i=1,j=1,k=2

C.i=4,j=2,k=4

D.i=1,j=1,k=3


正确答案:D

第8题:

下面程序段的执行结果为( )。 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=12

B.i=0 j=5 k=5

C.i=0 j=4 k=4

D.i=0 j=3 k=3


正确答案:C
解析:程序开始时(i,j,k)三个值分别为(3,0,0),然后进入for循环,由于for的第一条语句空缺,所以不做初始化,此时i为3满足循环条件,进入循环体。然后执行“++k;”使k变成1,再无条件进入do-while循环体执行“++j;”使j变成1,此时i和j不相等所以执行break;语句跳出do-while循环。准备开始第二遍for循环,i的值被减1,此时3个值分别为(2,1,1),i为2满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j同为2相等,所以跳过break;语句再执行一次++k;使k为3,由于此时j满足do-while的循环条件,所以下一步回到前面执行do后面的++j;语句,使j为3,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第三遍for循环,i的值被减1,此时3个值分别为(1,3,3),i为1满足循环条件,进入循环体。然后依次执行++k;和++j;使它们增1,此时i和j不相等,所以执行break;跳出do-while循环。准备开始第四遍for循环,i的值被减1,此时3个值分别为(0,4,4),i为0不满足for语句的循环条件,所以执行循环体后面的printf()函数输出3个值,故正确答案为C。

第9题:

设有如下程序includemain(){int**k, *j, i=100;j=&i, k=&j;printf("%d\n",**k

设有如下程序#include<atdio.h>main(){int**k, *j, i=100;j=&i, k=&j;printf("%d\n",**k);}上述程序的输出结果是______。

A.运行错误

B.100

C.i的地址

D.i的地址


正确答案:B
解析:j=&i,j的值就是i的地址,8j=100,将j的地址赋给k,这时*k=j,那么,**k=*j,而*j=100,所以**k=100,最后的打印结果应当为100。

第10题:


A.I<J<K
B.I<K<J
C.J<I<K
D.K<J<I

答案:B
解析:

更多相关问题