要建网站,网站后台维护费用,怎样免费制作网页,河南商丘网数组练习 1、选择题 1.1、若有定义语句#xff1a;int a[3][6]; #xff0c;按在内存中的存放顺序#xff0c;a 数组的第10个元素是 D A#xff09;a[0][4] B) a[1][3] C)a[0][3] D)a[1][4] 1.2、有数组 int a[5] {10#xff0c;20#xff0c;30#xff0c;40… 数组练习 1、选择题 1.1、若有定义语句int a[3][6]; 按在内存中的存放顺序a 数组的第10个元素是 D Aa[0][4] B) a[1][3] C)a[0][3] D)a[1][4] 1.2、有数组 int a[5] {1020304050}, 以下表达式编译错误是____ B______。 A) a ; B) a[5] 20 ; C) a 20 ; D) (a-3 a[3]) ; 1.3、以下错误的定义语句是___C___ Aint x[][3] {{0},{1},{1,2,3}}; Bint x[4][3] {{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; Cint x[4][] {{1,2,3},{1,2,3},{1,2,3},{1,2,3}}; Dint x[][3] {1,2,3,4}; 1.4、设int i,x[3][3]{1,2,3,4,5,6,7,8,9};则下面语句 for(i0;i3;i) printf(″%d, ″,x[i][2-i]); 的输出结果是 D A)1, 4, 7 B)1, 5, 9 C)3, 6, 9 D)3, 5, 7 1.5、表达式“sizeof(int [1][2])/sizeof(int)”的值为__A__。 A) 2 B) 3 C) 4 D) 5 1.6有以下程序 #include main() { char s[]012xy\07s34f4w2; int i,n0; for(i0;s[i]!0;i) if(s[i]0s[i]9) n; printf(%d\n,n); } 程序运行后的输出结果是____ __B______ A)0 B)3 C)7 D)8 1.7、有以下程序 #include stdio.h main( ) { char s[ ]”wstuv”; printf(“%c\n”,*s2); } 程序运行后的输出结果是 A At B) tuv Cy D)出错 1.8 数组 int a[5] {10 20 30 4050}, 有以下语句其输出____C___ printf(“%d\n” *a 1) ); A) 20 B) 30 C) 随机值 D编译报错 1.9 有以下程序 # include stdio.h int main() { int s[12]{1,2,3,4,4,3,2,1,1,1,2,3}, c[5]{0,0,0,0,0}, i ; for(i0;i12;i) c[s[i]] ; for(i1;i5;i) printf(“%d”,c[i]); printf(“\n”); } A A) 4 3 3 2 B) 2 3 4 4 C) 1 2 3 4 D ) 4 4 2 3 1.10 有数组 int a[3][4] {10,20,30,40,50,60,70,80,90,100,110,120}执行以下语句输出的是________B_______ printf(“%d\n” *(*a2) 3 ); A) 语句有错 B) 120 C) 30 D) 33 2、填空题 2.1、有以下程序 #include stdio.h main( ) { int i,n[ ]{0,0,0,0,0}; for(i1;i4;i) {n[i]n[i-1]*31; printf(“%d”,n[i]);} } 程序运行后输出结果是 ____40______ 2.2、执行以下程序的输出结果是_ 3715. #include stdio.h int main() { int i,n[4]{1000}; for(i1;i3;i) { n[i]n[i-1]*21; printf(%d,n[i]); } } 2.3、下面程序运行的结果为____358_____。 main { int x[5]i x[0] 1x[1] 2 fori 2i5i x[i] x[i-1] x[i-2]; fori 2i5i printf“%d”x[i] } 2.4、有以下程序 #include sthio.h int main() { int arr[] {1,3,5,7,2,4,6,8}, i, start ; scanf(“%d”, start); for(i0,i7,i2) printf(“%d”,arr[(starti)%5]); } 若在程序运行时输入整数 10 回车则输出结果为___1523____ 2.5下面程序运行的结果为____4 5 8 2 0_____。 #include stdio.h main() { int i,j,a[]{0,2,8,4,5}; printf(\n); for(i1;i5;i) { j5-i; printf(%2d,a[j]); } } 2.6有以下程序 #include stdio.h int main() { int n[2],i,j; for(i0;i2;i) n[i]0; for(i0;i2;i) for(j0;j2;j) n[j]n[i]1; printf(“%d\n”,n[1]); } 程序运行后的输出结果是 【13】 3、编程题 3.1、 一个班10个学生的成绩存放在一个一维数组中要求找出其中成绩最高的学生的成绩和该生的序号。试编程。(试着用下标法和地址法两种方法表示数组) 1 #includestdio.h2 int main(int argc, const char *argv[])3 {4 int score[10]{60,60,70,75,80,85,90,90,95,96,98};5 int max0;6 int i0;7 int j0;8 for(i0;i10;i)9 {10 if(score[i]max)11 maxscore[i];12 ji;13 }14 printf(最高成绩为%d序号为%d,max,j);15 return 0;16 } 3.2、有5个学生上4门课程要求输入全部学生的各门课程成绩然后输出各门课程的平均成绩并按照各个学生的平均成绩排序(成绩最高的学生排在数组最前面最低学生排在数组最后面的行) (试着用下标法和地址法两种方法表示数组)。 1 #includestdio.h2 int main(int argc, const char *argv[])3 {4 int score[5][4];5 int **pscore;6 int i0;7 int j0;8 for(i0;i5;i)9 {10 for(j0;j4;j)11 {12 printf(请输入第%d个学生的第%d门成绩,i,j);13 scanf( %d,(*(pi)j);14 }15 }16 for(i0;i5;i)17 {18 for(int k0;k3;k)19 {20 for(j0;j3;j)21 {22 if(*(*(pi)j)*(*(pi)j1))23 {24 int max*(*(pi)j1);25 *(*(pi)j1)*(*(pi)j);26 *(*(pi)j)max;27 }28 }29 }30 }31 for(i0;i5;i)32 {33 for(j0;j4;j)34 {35 printf(请输入第%d个学生的第%d门成绩为%d,i,j,*(*(pi)j));36 }37 }38 return 0;39 }