# [C (gcc)], <s>131</s> 116 bytes

<!-- language-all: lang-c -->

    L(a,v,A,s){srand(clock());for(s=5,v=1000;s--;)a>44&s<3|a>59|!s&&(A=rand()%(v+1))&&printf("%d",s?v-=A,A:v),puts("");}

**Update**: Fixed a bug in the original. Fused in the helper function, reducing an additional 15 bytes.

## Degolf

    L(a,v,A,s){
        srand(clock());
        for(s=5,v=1000;s--;)
            a>44&s<3|a>59|!s && // Determine whether to print a number, using AND instead of if().
            (A=rand()%(v+1)) && // Random number in [0, v]. If v == 0, nothing prints
                                // because x%1 == 0 for all x.
            printf("%d",s?v-=A,A:v), // Print random number, and deduct it from total.
            puts("");} // Newline.

[Try it online!][TIO-jly27rzz]

[C (gcc)]: https://gcc.gnu.org/
[TIO-jly27rzz]: https://tio.run/##VY/BTsMwEETPyVekkWp5G1tywEG0roty5w8oB8slrUXrVHFqDm1@ncVwAHHZw@y8nR3L99YiPlPDImtZgGsYjN9Re@ztOwVQXT/QoBsWdS2EUIFzBWYjJQnr@5vZNMvbLBBCW/2DwZzGqgYg5Dw4P3a0nO9KFp4i1y1rVxHY@TIGWpagJjwZ56llEezBDItFVNc8@45LYOF0rQq3tmlUFaRF9newODl/Gd/CautLVpixdzS@uNf0bLKlJv@F38A8m/IJ8U6glCgbbJb4IPBRYCr2abuj2QfkH18 "C (gcc) – Try It Online"