模拟试题

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

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

来源:2exam.com 2013-10-30 19:02:31

给定源程序: 

  #include <stdio.h> 

  #define M 3 

  #define N 4 

  void fun(char s[][N], char *b) 

  { 

  int i,j,n=0; 

  for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */ 

  { 

  } 

  b[n]=’\0’; 

  } 

  main() 

  { char a[100],w[M][N]={{’W’,’W’,’W’,’W’},{’S’,’S’,’S’,’S’},{’H’,’H’,’H’,’H’}}; 

  int i,j; 

  printf("The matrix:\n"); 

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

  { for(j=0;j<N; j++)printf("%3c",w[i][j]); 

  printf("\n"); 

  } 

  fun(w,a); 

  printf("The A string:\n");puts(a); 

  printf("\n\n"); 

  NONO(); 

  } 

  解题思路: 

  本题是把二维数组中的字符数据按列存放到一个字符串中。 

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

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

  参考答案: 

  void fun(char s[][N], char *b) 

  { 

  int i,j,n=0; 

  for(i=0; i < N;i++) /* 请填写相应语句完成其功能 */ 

  { 

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

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

  n = i * M + j + 1; 

  } 

  } 

  b[n]=’\0’; 

  } 

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