就业数据资源平台
当前位置:首页 > 笔试题目
金山软件程序题


程序题,没有规定用什么语言:


  n个选项,每个选项里面又有若干个子选项,从每个选项中选一个子选项,一共有多少个组合。


  #include

  #define N 3 //选项数


  #define Alen 3 //第一个选项的子选项数


  #define Blen 3 //第二个选项的子选项数


  #define Clen 3 //第三个选项的子选项数


  int num = 0; //总的组合数


  char A[N][Alen] = {{’A', ‘B’, ‘C’}, {’D', ‘E’, ‘F’}, {’H', ‘I’, ‘J’}};//3个选项,每个选项有3个子选项


  int Len[N] = {Alen, Blen, Clen};//每个选项的子选项数


  int Path[N];//保存一个组合


  void Recrusive(int i)


  {


  //超过N层输出结果并且退出循环


  if (i >= N)


  {


  int k;


  num++;


  printf(”%d: “,num);


  for (k = 0; k < N; k++)


  {


  printf(”%c “, Path[k]);


  }


  printf(”\n”);


  return;


  }


  int j ;


  for (j = 0; j < Len[i]; j++)


  {


  //保存遍历字符


  Path[i] = A[i][j];


  //调用下层循环


  Recrusive(i + 1);


  }


  }


  void main()


  { Recrusive(0);


  }

 


就业数据资源平台