首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 计算机考试 > 等级考试 > 二级考试 >

计算机二级2013年最新C语言上机同步训练题(4)(3)

2013-05-30 
计算机二级2013年最新C语言上机同步训练题(4)小编寄语:现在读书人网(www.reader8.com)陆续为您整理考试相关信息,供大家参考,希望对同学们在这短暂的日子里将这些内容整理掌握。

  请编写函数fun, 函数的功能是: 将M行N列的二维数组中的数据, 按列的顺序

  依次放到一维数组中。函数fun中给出的语句仅供参考。

  例如, 二维数组中的数据为:

  33 33 33 33

  44 44 44 44

  55 55 55 55

  则一维数组中的内容应是:

  33 44 55 33 44 55 33 44 55 33 44 55。

  注意:部分源程序在文件PROG1.C中。

  请勿改动主函数main和其它函数中的任何内容, 仅在函数fun的花括号中填入你编写的若干语句。

  给定源程序:

  #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;

  }

更多关注:

3月份计算机一级考试微机知识预测整理汇总

2013年计算机等级考试一级微机考题预测汇总

计算机二级C语言上机题考前预测汇总

2013年计算机二级C语言考试预测及答案汇总

3月计算机一级MS Office自测题附答案汇总

3月份计算机二级C语言上机练习题及答案汇总

更多精彩请关注读书人网计算机频道!


热点排行