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

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

分析下面语句段执行的时间复杂度。 (1)for (int i=0; i<n; ++i) { ++p; } (2) for (int i<0; i<n; ++i) { for (int j =0; j<m; ++j) { ++p; } } (3) i = 1; while(i <= n) { i *= 3; } (4) int i = 1; int k = 0; do { k = k+10*i; ++i; } while(i!=n);


参考答案和解析
(1)O(1) (2)O(nm) (3) (4) (5) (6)
更多 “分析下面语句段执行的时间复杂度。 (1)for (int i=0; i<n; ++i) { ++p; } (2) for (int i<0; i<n; ++i) { for (int j =0; j<m; ++j) { ++p; } } (3) i = 1; while(i <= n) { i *= 3; } (4) int i = 1; int k = 0; do { k = k+10*i; ++i; } while(i!=n);” 相关考题
考题 有以下程序inclUdevoidfun(int*s,intn1,intn2){inti,j,t;i=n1;j=n2;while(i 有以下程序 #inclUde <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1; j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4A.0987654321B.4321098765C.5678901234D.0987651234

考题 阅读下列程序说明和C代码,把应填入其中n处的字句写在答卷的对应栏内。【说明】程序利用选择排序算法对数组a中的N个整数按照从小到大的顺序排列,并将排序结果显示出来。【程序】define N 10main(){void (1);int i,a[N];for(i=0;i<10,i++) /*输入*/scanf(“%d”,a[i]);(2);for(i=0;i<N,i++) /*输出*/printf(“%3d”,a[i]);}void selectSon(int x[],int n){int i,j,k,t;for(int i=0; (3);i++){k=i;for(j=i+1;j<n;j++)if (4) k=j;if (5){t=x[i];x[i]=x[k];x[k] =t;}}}

考题 执行下列语句后,变量n的值是______。int n=0;for(int i=1;i<=3;i++)for(int j=1;j<<=i;j++)n++;

考题 以下程序的输出结果是 ( ) 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.14B.0C.6D.值不确定

考题 该程序运行的结果是( )。#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");}

考题 阅读以下说明和C语言函数,将应填入(n)处的语句写在对应栏内。【说明】著名的四色定理指出任何平面区域均可以用4种颜色着色,使相邻区域着不同的颜色。本程序对给定的区域图找出所有可能的不超过4种颜色的着色方案。【函数】include <stdio.h>define N 10 /*要着色的N个区域*/void output(int color[]) /*输出一种着色方案 color[i]的值为区域i所着颜色*/{int i;for (i=0; i<N; i++)printf("%4d", color[i]);printf("\n");}int back(int *ip, int color[j] /*回溯*/int c=4;while (c==4){if (*ip<=0)return 0:--(*ip);c=(1);color[*ip]=-1;}return c;}/*检查区域i,考查c种颜色的可能性 */int colorOK(iht i, int c, int adj[][N], int color[]){int j;for(j=0; j<i; j++)if ((2))return 0;return 1;}/*为区域i选一种可着的颜色*/int select(int i, int c, int adj[][N], int color[])/*寻找各种着色方案 adj[i][j]=1表示区域i与区域j不相邻*/{int k;for (k=c; k<=4; k++) /*4种颜色*/if (colorOK((3)))return k;return 0;}int coloring(int adj[][N]){int color[N], i, c, cnt;for (i=0; i<N; i++) color[i]=-1:i=c=0; cnt=0;while (1)[if ((c=(4))==0){c=back(i, color);if (c==0)return cnt;}else{(5);i++;if(i==N){output(color);++cnt;c=back(i, color);}elsec=0;}}}void main(){int adj[N][N]={ {0, 1, 0, 1, 1, 1, 1, 1, 1, 1},{1, 0, 1, 1, 0, 1, 1, 1, 1, 0},{0, 1, 0, 1, 0, 1, 1, 0, 1, 1},{1, 1, 1, 0, 1, 1, 0, 0, 1, 1},{1, 0, 0, 1, 0, 1, 0, 0, 0, 0},{1, 1, 1, 1, 1, 0, 1, 0, 0, 1},{1, 1, 1, 0, 0, 1, 0, 0, 1, 0},{1, 1, 0, 0, 0, 0, 0, 0, 1, 1},

考题 本程序用冒泡法对数组a[]的元素从大到小排序,请在程序空白处填空。 void bubble(int a[],int n) {int i,j,max,temp; max=n-1; do{j=0; for(i=0;i<max;i++) if(a[i]<a[i+1]) {temp=a[i];a[i]=a[i+1];a[i+1]=temp; j=i; } max=j; }while(( )); }

考题 下列程序的输出结果是 #include"stdio.h" #define N 3 #define M 3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}A.3B.4C.5D.6

考题 以下程序的输出结果是【】。 main() { int p[7]=(11,13,14,15,16,17,18}; int i=0,j=0; while(i 以下程序的输出结果是【 】。main(){int p[7]=(11,13,14,15,16,17,18};int i=0,j=0;while(i<7p[i]%2==1)j+=p[i++];printf("%d\n",j);}

考题 下列程序的输出结果是【 】。includeiostreamusing namespace std;class Base{public:int m,n;Base(int i,int j):m(i),n(j){}};class Derived:public Base{public:int m,k,;Derived(int i,int j):Base(i,j),m(i+1),k(j+1){}};int main(){Derived d(1,5);coutd.md.kd.n;return 0;}

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

考题 有以下程序:include using namespace std;int main ( ){ int n[3],i,j,k = 2; for(i 有以下程序: #include <iostream> using namespace std; int main ( ) { int n[3],i,j,k = 2; for(i = 0;i<k;i++) n[i] = O; for(i = O;i<k;i++) { for(j = O;j<k;j++) n[j] = n[i] + 1; } cout<<n [0 ] <<end1; return 0; } 上述程序运行后,输出结果是( )。A.0B.1C.2D.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;}}

考题 有以下程序:includevoid f(char p[][10],int n){char t[10];int i,j;for(i=0;i 有以下程序: #include<string.h> void f(char p[][10],int n) {char t[10];int i,j; for(i=0;i<n-1;i++) for(j=i+1;j<n;j++) if(strcmp(p[i],p[j])>0) {strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[j],t);} } main() {char p[5][10]={"abc","aabdfg","abbd","dedbe","cd"}; f(p,5); printf("%d\n",strlen(p[0]));} 程序运行后的输出结果是( )。A.2B.4C.6D.3

考题 分析下列程序,其最终执行结果是______。 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 "stdio.h"#define N 3#define M 3void fun(int a[M][N]){ printf("%d\n",*(a[1]+2));}main(){ int a[M][N];int i,j;for(i=0;iM;i++)for(j=0;jN;j++)a[i][j]=i+j-(i-j);fun(a);}A.3B.4C.5D.6

考题 以下程序输出正确的是_______ amovep(int *p,int (*a)[3],int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5}, {2,4,6}}; p=(int*)mallox(100) amovep)p,a,3); printf("%d%d\n",p[2],p[5]);free(p) }A.56B.25C.34D.程序错误

考题 有下列程序: include void fun(int * s,int n1,int n2) { int i,j, 有下列程序: #include <stdio.h> void fun(int * s,int n1,int n2) { int i,j,t; i=n1;j=n2; while(i<j){t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9);fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]);printf("\n"); } 程序的运行结果是( )。A.987654321B.4321098765C.5678901234D.987651234

考题 下面程序的输出结果是______。 main() { int a[3][4]={1,3,5,7,9,11,13,15,17,19,21,23}; int(*p)[4]=a,i,j,k=0; for(i=0;i<3;i++) for(j=0;j<2;j++) k=p[i][j]; printf("%d\n",k); }A.17B.18C.19D.23

考题 请读程序: 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

考题 下列程序的输出结果是 #include"stdio.h" #define N3 #define M3 void fun(int a[M][N]) { printf("%d\n",*(a[1]+2));} main() { int a[M][N]; int i,j; for(i=0;i<M;i++) for(j=0;j<N;j++) a[i][j]=i+j-(i-j); fun(a);}A.3B.4C.5D.6

考题 阅读以下函数说明和C语言函数,将应填入(n)处的字句填写在对应栏内。[函数2.1说明]函数fun1 (int m, int k, int xx [])的功能是:将大于整数m且紧靠m的k个素数存入数组xx中传回。例如:若输入17,5,则应输出:19,23,29,31,37。[函数2.1]fun1 (int m, int k, int xx [] ){inti, j, s=0;for ( i=m+1; k>0; i++ ){for (j=2; j<i; j++ )if ( i %j=0 )(1)if( i==j ){(2)k--; }}}[函数2.2说明]函数void fun 2 ()的功能是:打印出杨辉三角形(要求打印出10行)。[函数2.2]void fun2 ( ){int i, j;int a[10][10];printf ("\n" );for (i=0; i<10; i++{a [i] [0]=1;(3))for (i=2; i<l0; i++ )for (j=1; j<i; j++)(4)for (i=0; i<10; i++ ){for (j=0; j<=i; j++ )(5)printf ( "\n" );}}

考题 以下程序的输出结果是#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"); }

考题 以下程序输出正确的是______。 amovep(int *pint(*a) [3]int n) { int i,j; for(i=0;i<n;i++) for(j=0;j<n;j++){ *p=a[i][j];p++;} } main() {int *p,a[3][3]={{1,3,5},{2,4,6}}; p=(int*)malloc (100); amovep(p,a,3); printf("%d%d\n",p[2]p[5];free(p); }A.56B.25C.34D.程序错误

考题 有以下程序:struct S{int n;int a[20];};void f(struct S*P){int i,j,t;for(i=0;in-1;i++)fo 有以下程序: struct S{int n;int a[20];}; void f(struct S*P) { int i,j,t; for(i=0;i<P->n-1;i++) for(j=j+1;j<P->n-1;j++) if(p->a[i]>p->a[j]) {t=P->a[i];p->a[i]=P->a[j];p->a[j]=t} } main() {int i;struct S s{10,{2,3,1,6,8,7,5,4,10,9}}; f(&s); for(i=0;i<s.n;i++)printf("%d",s.a[i]);} 程序运行后的输出结果是( )。A.3B.4C.5D.6

考题 有以下程序#include stdio.hvoid fun(int *s,int n1,int n2){ int i,j,t;i=n1; j=n2;while(ij) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;}}main(){ int a[10]={1,2,3,4,5,6,7,8,9,0},k;fun(a,0,3); fun(a,4,9); fun(a,0,9);for(k=0;kl0;k++)printf("%d",a[k]); printf("\n");}程序的运行结果是A.0987654321B.4321098765C.5678901234D.0987651234

考题 有以下程序includevoidfun(int*s,intn1,intn2){inti,j,t; i=n1j=n2; while(i 有以下程序 #include <stdio.h> void fun(int *s,int n1,int n2) { int i,j,t; i=n1 j=n2; while(i<j) {t=s[i];s[i]=s[j];s[j]=t;i++;j--;} } main() { int a[10]={1,2,3,4,5,6,7,8,9,0},k; fun(a,0,3); fun(a,4,9); fun(a,0,9); for(k=0;k<10;k++)printf("%d",a[k]); printf("\n"); } 程序的运行结果是A.987654321B.4321098765C.5678901234D.987651234

考题 阅读以下函数说明和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");}