A ile masz tych przydziałów i zestawów instrukcji? Ile masz przypadków z konkretnymi wartościami (nie przedziałami; czyli że robisz coś np. tylko dla 58, a nie dla 55-65)? Może switch nie jest właściwą konstrukcją? Do sprawdzania przedziałów lepiej sprawdzają się instrukcje warunkowe if-else. Użycie switcha nie ma najmniejszego sensu, gdy masz powiedzmy trzy przedziały.
Jeśli natomiast masz kilka wartości punktowych i 2-3 przedziały, to możesz użyć switcha z etykietą default. Wartości punktowe obsługujesz case'ami, a przedziały sprawdzasz if-ami w default. O tak:
switch (a) {
case 1:
zrob_cos();
break;
case 2:
zrob_cos_innego();
break;
/* ... */
default:
if (a >= 48 && a <= 57) {
obsluz_przedzial_pierwszy();
} else if (a >= 98 && a <= 122) {
obsluz_przedzial_drugi();
/* ... */
}
}