Pyth, 26 bytes
fqvT100m+ssC,r1Td9^c3"+-"8
First, we generate all 8 element combinations of ["+", "-", ""]. c3"+-"
chops "+-"
into 3 rougly equal sied pieces, giving the appropriate list. ^c3"+-"8
gives the 8 element combinations.
Then, we greate the arithmetic sequences. C,r1Td
zips together the operators with the numbers 1 through 8, which are then summed twice to give the string, and + ... 9
puts a 9 at the end.
Finally, fqvT100
filters for those expressions which evaluate to 100.
The update to the interpreter which allowed this code to work was this one, which was made about a day before this question was asked, so this code would have only worked on the command line compiler, not the online one, when the question was asked.
Demonstration.
1 2 3+4+5
rather than123+4+5
? \$\endgroup\$*
&/
and does not specify the target 100) \$\endgroup\$