int型の配列 a[100] に、1〜9999までの任意の値が入っています。
すべての a[i] (i=0,1,2,...,99)について、a[i]を引数に持つ共通処理を行いたいのです。

ただし、特殊な条件があって、
a[i]==1234の場合は、「前処理A⇒共通処理」を500回、
a[i]==5678の場合は、「前処理B⇒共通処理」を1000回、
繰り返すとします。

そこで、二つのパターンを考えました。
----------------------------------------
// パターンA
int b[10000];// すべて 1 に初期化済みとする
b[1234] = 500;
b[5678] = 1000;
for ( i=0; i<100; i++ ) {
 for ( j=0; j<b[a[i]]; j++ ) {
  switch ( a[i] ) {
  case 1234:
   前処理A;
   break;
  case 5678:
   前処理B;
   break;
  }
  共通処理( a[i] );
 }
}