金山程式題

才智咖 人氣:2.36W

程式題,沒有規定用什麼語言

金山程式題

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

}
 

TAGS:金山