Final answer:
The C program needs to generate random numbers within the specified range, classify them into four types based on their sign and whole part, store IEEE 754 representation details, and terminate when a condition is met.
Step-by-step explanation:
To create a C program that generates random numbers and adds them to one of four linked lists, you must ensure the numbers fall in the range of −100.0 to 100.0. You can use the rand() function from the C standard library paired with arithmetic operations to scale the generated value to the required range. As the numbers are generated, the program separates them into the designated lists based on their sign and whether they have a non-zero whole part or are fractions.
For recording IEEE 754 details, a structure could hold the sign, exponent, and mantissa. You'll need bit manipulation techniques to extract this information from the generated float or double values. A union data structure is often used in C to represent a floating-point number both as a float/double and as an integer type to facilitate this process.
The program terminates when the sum of all positive numbers reaches the user's specified value, which requires a loop and a variable that accumulates the sum of positive numbers.