模拟试题

3773考试网计算机等级考试模拟试题正文

2014年3月全国计算机二级C语言上机模拟试题十二之3

来源:2exam.com 2013-10-30 19:21:12

给定源程序: 

  #include  

  void fun(int s[][10], int b[], int *n, int mm, int nn) 

  { 

  int i,j,np=0; /* np用作b数组下标 */ 

  *n=np; 

  } 

  main() 

  { int w[10][10]={{33,33,33,33},{44,44,44,44},{55,55,55,55}},i,j; 

  int a[100]={0}, n=0; 

  printf("The matrix:\n"); 

  for(i=0; i<3; i++) 

  { for(j=0;j<4; j++)printf("=",w[i][j]); 

  printf("\n"); 

  } 

  fun(w,a,&n,3,4); 

  printf("The A array:\n"); 

  for(i=0;i  NONO(); 

  } 

  解题思路: 

  本题是把二维数组中的数据按行存放到一维数组中。 

  1. 计算存放到一维数组中的位置。 

  2. 取出二维数组中的数据存放到一维数组(已计算出的位置)中。 

  参考答案: 

  void fun(int (*s)[10], int *b, int *n, int mm, int nn) 

  { 

  int i,j,np=0; /* np用作b数组下标 */ 

  for(i = 0 ; i < nn ; i++) 

  for(j = 0 ; j < mm ; j++) { 

  b[np] = s[j][i] ; 

  np = i * mm + j + 1; 

  } 

  *n=np; 

  } 

触屏版 电脑版
3773考试网 琼ICP备12003406号-1