>>231
3行目、aじゃなくてnumな。あとnumのスコープが狭すぎ。

int num=0;
static int array[] = { 0, 1, 2, 1 };
while() {
int a = array[ num ];
num = ( num + 1 ) % 4;
}

テーブルで変換とかどう?
1の次が0になる場合と2になる場合があるから単純なステートマシンじゃ無理かと。