金山软件程序题
- 考研
- 关注:2.31W次
程序题,没有规定用什么语言:
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);
}
- 文章版权属于文章作者所有,转载请注明 https://m.leqiuxue.com/kywx/p2kvw.html