カウントの目的で任意の数字を使用するカウンターアルゴリズムが必要です。
私のコードはこれに似ています:
static char digits[] = {'x','y','z'}; /* Arbitrary number of arbitrary digits. */
int i;
for(i=0; i<100; i++) {
printf("%s\n", get_next());
}
私の期待する出力:
x
y
z
yx
yy
yz
zx
zy
zz
yxx
yxy
yxz
yyx
yyy
yyz
yzx
yzy
yzz
zxx
... and so on
ご覧のとおり、関数を実装するためのアルゴリズムが必要なget_next()
ので、C言語を使用することは重要ではありません。
明確にするためにIを編集します。
私のget_next()関数はこれに似ているかもしれません:
char get_next() {
static previous = digits[0];
char *next_number;
/* do something here using previous and digits[] */
return next_number;
}
get_next(void)
次の番号を生成する関数にまたはnext(previous_number)
またはnext(digits, previous_number)
プロトタイプを使用することは、私にとって重要ではないことに注意してください。
明確にするためにIIを編集します。
私の実際のシナリオは、上記の単純な例からより複雑です。任意の数の任意の桁で機能する一般的なソリューションが必要です。
数字入力の例:
static char digits[] = {'a', 'b', 'c', ... 'z', '0', '1', ...}; /* Lots of digits */
static char digits[] = {'s','t','a','c','k','o','v','e','r'}; /* Arbitrary sequence */