习题6(第七章)数组

{ int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2],i,j; printf(“array a:\\n”); for(i=0;i<=1;i++) { for(j=0;【1】;j++) { printf(“]”,a[i][j]); 【2】; } printf(“\\n”); } printf(“array b:\\n”); for(i=0;【3】;i++) { for(j=0;j<=1;j++) printf(“]”,b[i][j]); printf(“\\n”); } }

【题7.61】下面程序的运行结果是 。 main() { int a[2][3]={{1,2,3},{4,5,6}}; int b[3][2] ,i,j; printf(“array a:\\n”); for(i=0;i<=1;i++) { for(j=0;j<=2;j++) { printf(“]”,a[i][j]); b[j][i]=a[i][j]; } printf(“\\n”); } printf(“array b:\\n”); for(i=0;i<=2;i++) { for(j=0;j<=1;j++) printf(“]”,b[i][j]); printf(“\\n”); }

}

【题7.62】下面程序可求出矩阵a的两条对角线上的元素之和。请填空。 main() { int a[3][3]={1,3,6,7,9,11,14,15,17},sum1=0,sum2=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) if(i==j) sum1=sum1+a[i][j]; for(i=0;i<3;i++) for(【1】;【2】;j--) if((i+j)==2) sum2=sum2+a[i][j]; printf(“sum1=%d,sum2=%d\\n”,sum1,sum2); }

【题7.63】下面程序的运行结果是 。 main() { int a[5][5],i,j,n=1; for(i=0;i<5;i++) for(i=0;i<5;i++) a[i][j]=n++; printf(“The result is:\\n”); for(i=0;i<5;i++) { for(j=0;j<=i;j++) printf(“M”,a[i][j]); printf(“\\n”); } }

【题7.64】下面程序可求出矩阵a的主对角线上的元素之和。请填空。 main() { int a[3][3]={1,3,5,7,9,11,13,15,17},sum=0,i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) if(【1】) sum=sum+【2】; printf(“sum=%d\\n”,sum); }

【题7.65】以下程序可求出所有的水仙花数。(提示:所谓水仙花数是指一个三位正整数,

其各位数字的立方之和等于该正整数。例如:407=4×4×4+0×0×0+7×7×7,故407是一个水仙花数。)请填空。

main() { int x,y,z,a[8],m,i=0; printf(“The special numbers are(in the arrange of 1000):\\n”); for(【1】;m++) { x=m/100; y=【2】; z=m; if(x*100+y*10+z==x*x*x+y*y*y+z*z*z) { 【3】; i++; } } for(x=0;x

【题7.66】下面程序的功能是生成并打印某数列的前20项,该数列第1,2项分别为0和1,

以后每个奇数编号的项是前两项之和,偶数编号的项是前两项差的绝对值。生成的20个数存在一维数组x中,并按每行4项的形式输出。请填空。

main() { int x[21],i,j; x[1]=0; x[2]=1; i=3; do{ x=【1】; x[i+1]=【2】; i=【3】; }while(i<20); for(i=1;i<=20;i++) { printf(“]”,x[i]); if(i%4==0) printf(“\\n”); } }

【题7.67】若有以下输入(代表回车换行符),则下面程序的运行结果是 。 1 4 2 3 3 4 1 2 3 3 2 2 2 3 3 1 1 1 4 1 1 1 -1 #define M 50 main() { int a[M],c[5],i,n=0,x; printf(“Enter 0 or 1 or 2 or 3 or 4, to end with -1\\n”);

scanf(“%d”,&x); while(x!=-1) { if(x>=0&&x<=4) { a[n]=x; n++; } scanf(“%d”,&x); } for(i=0;i<5;i++) c[i]=0; for(i=0;i

【题7.68】下面程序的运行结果是 。 main() { int i,j,a[2][3]={{2,4,6},{8,10,12}}; printf(“The original array is:\\n”); for(i=0;i<2;i++) { for(j=0;j<3;j++) printf(“M”,a[i][j]); printf(“\\n”); } printf(“\\nthe result is:\\n”); for(i=0;i<3;i++) { for(j=0;j<2;j++) printf(“M”,a[j][i]); printf(“\\n”); } }

【题7.69】设数组a包括10个整型元素。下面程序的功能是求出a中各相邻两个元素的和,

并将这些和存在数组b中,按每行3个元素的形式输出。请填空。

main() { int a[10],b[10],i; for(i=0;i<10;i++) scanf(“%d”,&a[i]); for(【1】;i<10;i++) 【2】 for(i=1;i<10;i++)

联系客服:779662525#qq.com(#替换为@)