中国大学MOOC: 写出下面程序执行后的运行结果。#include int 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++)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]); return 0;}
举一反三
- 以下程序的运行结果是【1】,其算法是【2】。 main() {inta[5]={5,10,-7,3,7},i,t,j; sort(a); for(i=0;i<=4;i++) printf("%3d",a[i]); } sort(inta[]) {inti,j,k; for(i=0;i<4;i++) for(j=0;j<4-i;j++) if(a[j]>a[j+1]) {t=a[j];a[j]=a[j+1];a[j+1]=t;} }
- main() { int i,j,x=0; for(i=0;i<2;i++) { x++; for(j=0;j<=3;j++) { if(j%2) continue; x++; } x++; } printf(“x=%d ”,x); }
- 给出下列算法中语句的时间复杂度 x = 0; y = 0; for (int i = 1; i <= n; i++) for (int j = 1; j <= i; j++) for (int k = 1; k <= j; k++) x=x+y;
- 以下程序的输出结果是( ) #include int main(){ int i,j,x=0; for(i=0;i<2;i++){ x++; for(j=0;j<3;j++) { if(j%2) continue; x++; } x++; } Printf(“x=%d\n”,x); return 0; }
- 以下程序的运行结果是 _____ 。 #include int main() { int i=2,x=5,j=7; void fun(int i,int j); fun(j,6); printf("i=%d; j=%d; x=%d\n",i,j,x); return 0; } void fun(int i,int j) { int x=7; printf("i=%d; j=%d; x=%d\n",i,j,x); }