习题6(第七章)数组 下载本文

for(j=0;j<3;j++) printf(“]”,b[i][j]); 【3】; } }

【题7.78】下面程序的功能是统计年龄在16~31岁之间的学生人数。请填空。 main() { int a[30],n,age,i; for(i=0;i<30;i++) a[i]=0; printf(“Enter the number of the students(<30)\\n”); scanf(“%d”,&n); printf(“Enter the age of each student:\\n”); for(i=0;i

【题7.79】下面程序的功能是检查一个二维数组是否对称(即:对所有ij都有

a[i][j]=a[j][i])。请填空。

main() { int a[4][4]={1,2,3,4,2,2,5,6,3,5,3,7,4,6,7,4}; int i,j,found=0; for(j=0;j<4;j++) for(【1】;i<4;i++) if(a[j][i]!=a[i][j]) { 【2】; break; } if(found) printf(“No”); else printf(“Yes”); }

【题7.80】下面程序中数组a包括10个整数元素,从a中第二个元素起,分别将后项减前

项之差存入数组b,并按每行3个元素输出数组b。请填空。

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

b[i]=a[i]-a[i-1]; for(i=1;i<10;i++) { printf(“=”,b[i]); if(【3】) printf(“\\n”); } }

【题7.81】下面程序的运行结果是 。 main() { int i=1,n=3,j,k=3; int a[5]={1,4,5}; while(i<=n&&k>a[i]) i++; for(j=n-1;j>=i;j--) a[j+1]=a[j]; a[i]=k; for(i=0;i<=n;i++) printf(“=”,a[i]); }

【题7.82】下面程序的运行结果是 。 main() { int num_list[]={6,7,8,9},k,j,b,u=0,m=4,w; w=m-1; while(u<=w) { j=num_list[u]; k=2; b=1; while(k<=j/2&&b) b=j%++k; if(b) printf(“%d\\n”,num_list[u++]); else { num_list[u]=num_list[w]; num_list[w--]=j; } } }

【题7.83】设数组a中的元素均为正整数,以下程序是求a中偶数的个数和偶数的平均值。

请填空。

main()

{ int a[10]={1,2,3,4,5,6,7,8,9,10}; int k,s,i; float ave; for(k=s=i=0;i<10;i++) { if(a[i]%2!=0) 【1】; s+=【2】; k++; } if(k!=0) { ave=s/k; printf(“%d,%f\\n”,k,ave); } }

【题7.84】以下程序是求矩阵a,b的和,结果存入矩阵c中并按矩阵形式输出。请填空。 main() { int a[3][4]={{3,-2,7,5},{1,0,4,-3},{6,8,0,2}}; int b[3][4]={{-2,0,1,4},{5,-1,7,6},{6,8,0,2}}; int i,j,c[3][4]; for(i=0;i<3;i++) for(j=0;j<4;j++) c[i][j]=【1】; for(i=0;i<3;i++) { for(j=0;j<4;j++) printf(“=”,c[i][j]); 【2】; } }

【题7.85】以下程序是求矩阵a,b的乘积,结果存入矩阵c中并按矩阵形式输出。请填空。 main() { int a[3][2]={2,-1,-4,0,3,1}; int b[2][2]={7,-9,-8,10}; int i,j,k,s,c[3][2]; for(i=0;i<3;i++) for(j=0;j<2;j++) { for(【1】;k<2;k++) s+=【2】; c[i][j]=s; } for(i=0;i<3;i++)

{ for(j=0;j<2;j++) printf(“m”,c[i][j]); 【3】 } }

【题7.86】已知以下矩阵:

?0.200??1??Y1??1?Y2????1??0.81?0.2?0.2??=??×?? ?Y3??0?0.81?0.2??1????????0.8?0.81??1??Y4??0 下面程序的功能是求出Y1,Y2,Y3,Y4的值。请填空。

main() { float a[4][4]={{1,-0.2,0,0},{-0.8,1,-0.2,-0.2}, {0,-0.8,1,-0.2},{0,-0.8,-0.8,1},}; float x[4]={1,1,1,1},y[4]; int i,j,k; for(i=0;i<4;i++) { y[i]=0; for(j=0;j<4;j++) 【1】 } for(k=0;k<4;k++) printf(“\\nY[%d]=%-6.2f”,k+1,【2】); }

【题7.87】以下程序的功能是求数组num中小于零的数据之和。请填空。 main() { int num[20]={10,20,1,-20,203,-21,2,-2,-2,11,-21,22,12, -2,-234,-90,22,90,-45,20}; int sum=,i; for(i=0;i<=19;i++) { if(【1】) sum=【2】; } printf(“sum=m”,sum); }