Here comes an illustration code written by myself.
from qiskit import QuantumRegister,ClassicalRegister,QuantumCircuit,Aer,execute
from qiskit.providers.aer import QasmSimulator
qr=QuantumRegister(1)
cr0=ClassicalRegister(5)
circ=QuantumCircuit(qr,cr0)
circ.measure(qr,cr0[0])
circ.x(qr)
circ.measure(qr,cr0[2])
circ.measure(qr,cr0[3])
circ.x(qr)
circ.measure(qr,cr0[3])
circ.x(qr)
circ.measure(qr,cr0[4])
circ.h(qr)
circ.x(qr)
print(execute(circ,Aer.get_backend('qasm_simulator')).result().get_counts())

The upper code shows how to get varied values and assign them to different classical registers. Although this method still requires a qubit, at least it can save some time. Maybe you can use the partial trace method to improve this. I think you must be ok with how the c_if() function works.